More Related Content Similar to 脱コピペ!デザイナーにもわかるPHPとWP_Query
Similar to 脱コピペ!デザイナーにもわかるPHPとWP_Query (20) More from Hidekazu Ishikawa
More from Hidekazu Ishikawa (20) 脱コピペ!デザイナーにもわかるPHPとWP_Query15. 条件分岐
<?php
if ( $a == ‘white’ ) {
echo ‘ホワイト企業です。’;
} else {
echo ‘ブラック企業です。’;
} ?>
$a の中身が white かどうか
たぶんこれは何となく意味がわかると思います。
17. <?php
$age = esc_html( post_custom(‘age’) );
if ( $age ) {
echo ‘年齢:’. $age;
} ?>
年齢入力用のカスタムフィールド
「age」の値を $age に代入
年齢欄が入力されていたら
カスタムフィールドに値が入力されて
いる場合のみ表示する。
用例
ピリオドは「連結」の意味です。
21. 配列の中身の取り出し方
$a = array( ‘a’,‘b’,‘c’ );
0個目 1個目 2個目
echo $a[0].‘<br />’;
echo $a[1].‘<br />’;
echo $a[2].‘<br />’;
22. $a = array( ‘a’,‘b’,‘c’ );
echo $a[0].‘<br />’;
echo $a[1].‘<br />’;
echo $a[2].‘<br />’;
a
b
c
24. $a = array(
‘cat' => 5,
‘posts_per_page' => 10,
);
キー 値
$a という1つの変数の中に、
いろいろな情報を持たせている。
32. $args = array(
'post_type' => 'room',
'posts_per_page' => 5,
'meta_query' => array(
array(
'key' => 'autolock',
'value' => 'yes',
),
array(
'key' => 'senmendai',
'value' => 'yes',
)
)
);
絞込の条件を配列で定義して、
配列に格納します。
投稿タイプが room
カスタムフィールドのパラメーター
独立洗面台(senmendai)が
あり(yes)
1ページの表示件数
オートロック(autolock)が
あり(yes)
37. <ul>
<?php while ( $datas->have_posts() ) : $datas-> the_post(); ?>
<li><?php the_title(); ?></li>
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
$datas-> を付ける事で、
$datasの内容でループする
38. <?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'room',
'meta_query' => array(
array(
'key' => 'autolock',
'value' => 'yes',
),
array(
'key' => 'senmendai',
'value' => 'yes',
)
)
);
$datas = new WP_Query( $args );
?>
<ul>
<?php while ( $datas->have_posts() ) : $datas-> the_post(); ?>
<li><?php the_title(); ?></li>
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
44. <ul>
<?php while ( have_posts() ) : the_post(); ?>
<li><?php echo $post->post_title; ?></li>
<?php endwhile; ?>
</ul>
次の投稿に進み、
グローバル変数$postを設定。
該当する投稿のデータが
$post の中に入っている
46. <ul>
<?php while ( have_posts() ) : the_post(); ?>
<?php
print ‘<pre>’;
print_r($post);
print ‘</pre>’;
?>
<?php endwhile; ?>
</ul>
よく使います!
47. WP_Post Object
(
[ID] => 2483
[post_author] => 1
[post_date] => 2013-06-04 12:20:53
[post_date_gmt] => 2013-06-04 03:20:53
[post_content] => 記事1の本文です。
[post_title] => 記事1
[post_excerpt] => 記事1の抜粋です。
[post_status] => publish
[comment_status] => closed
[ping_status] => closed
[post_password] =>
[post_name] => post_1_slug
[to_ping] =>
[pinged] =>
[post_modified] => 2013-08-30 23:54:28
[post_modified_gmt] => 2013-08-30 14:54:28
[post_content_filtered] =>
[post_parent] => 0
[guid] => http://XXXXXXXXX.com/?post_type=room&p=2483
[menu_order] => 0
[post_type] => info
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
ブラウザで見ると
こんな感じで
配列の中身が整形
されて表示できる!
48. WP_Post Object
(
[ID] => 2483
[post_author] => 1
[post_date] => 2013-06-04 12:20:53
[post_date_gmt] => 2013-06-04 03:20:53
[post_content] => 記事1の本文です。
[post_title] => 記事1
[post_excerpt] => 記事1の抜粋です。
部分拡大すると
配列のキー 配列の値
55. Array
(
[0] => WP_User Object
(
[data] => stdClass Object
(
[ID] => 3
[user_login] => kurudrive
[user_pass] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
[user_nicename] => kurudrive
[user_email] => kurudrive@gmail.com
[user_url] =>
[user_activation_key] =>
[display_name] => kurudrive
)
以下略
配列のキー
配列の値
配列の値が
さらに配列に
なっている
58. WP_User Object
(
[data] => stdClass Object
(
[ID] => 3
[user_login] => kurudrive
[user_pass] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
[user_nicename] => kurudrive
[user_email] => kurudrive@gmail.com
[user_url] =>
[user_activation_key] =>
[display_name] => kurudrive
)
以下略
$userの中身
59. Array
(
[0] => WP_User Object
(
[data] => stdClass Object
(
[ID] => 3
[user_login] => kurudrive
[user_pass] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
[user_nicename] => kurudrive
[user_email] => kurudrive@gmail.com
[user_url] =>
[user_activation_key] =>
[display_name] => kurudrive
)
以下略
$usersの中身
60. WP_User Object
(
[data] => stdClass Object
(
[ID] => 3
[user_login] => kurudrive
[user_pass] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
[user_nicename] => kurudrive
[user_email] => kurudrive@gmail.com
[user_url] =>
[user_activation_key] =>
[display_name] => kurudrive
)
以下略
$userの中身
62. ユーザー名の一覧
<ul>
<?php
$users = get_users();
foreach ($users as $key => $user) {
$author_url = site_url(). '/author/'. $user->user_login;
echo '<li><a href="'.$author_url.'">'.$user->display_name.'</a></li>'."¥n";
} ?>
</ul>
$user->display_name
63. Array
(
[0] => WP_User Object
(
[data] => stdClass Object
(
[ID] => 3
[user_login] => kurudrive
[user_pass] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
[user_nicename] => kurudrive
[user_email] => kurudrive@gmail.com
[user_url] =>
[user_activation_key] =>
[display_name] => kurudrive
)
以下略