表示されてる記事と同じカテゴリの記事を表示しようと思って single.php(記事用テンプレート)に下記のように書いた。
$cat = get_the_category();
$cid = $cat[0]->cat_ID;
$posts = get_posts("numberposts=10&category=$cid&exclude=$id");
if (count($posts) > 0) {
foreach ($posts as $post) {
printf('<h5><a href="%s">%s</a></h5>' . "\n", get_permalink($post->ID), $post->post_title);
}
}
$idってグローバルなのかと思ったけど どうもif (have_posts()) : while (have_posts()) : the_post();の スコープ内で利用できる変数っぽい。 他には$templateで利用してるテンプレートのサーバパスが出てくる。 $wp_queryはWP_Queryのインスタンス。 他にもありそうだけど情報が見つけられない。
上記コード内の$postの中身。
object(stdClass)#38 (24) {
["ID"]=>string(2) "88" // 記事ID
["post_author"]=>string(1) "3" //投稿者ID
["post_date"]=>string(19) "2007-06-09 04:14:44" //投稿日時
["post_date_gmt"]=>string(19) "2007-06-08 19:14:44" //投稿日時グリニッジ標準時?
["post_content"]=>string(2186) "hogehoge" //投稿内容
["post_title"]=>string(39) "title" //タイトル
["post_category"]=>string(1) "0" // カテゴリID
["post_excerpt"]=>string(227) "" //抜粋
["post_status"]=>string(7) "publish" //公開ステータスっぽい
["comment_status"]=>string(4) "open" //コメント受け付けるかどうか?
["ping_status"]=>string(4) "open" //ping受け付けるかどうか?
["post_password"]=>string(0) "" //投稿のパスワード?
["post_name"]=>string(8) "hoge"
["to_ping"]=>string(0) ""
["pinged"]=>string(0) ""
["post_modified"]=>string(19) "2009-04-02 12:48:56"
["post_modified_gmt"]=>string(19) "2009-04-02 03:48:56"
["post_content_filtered"]=> string(0) ""
["post_parent"]=>string(1) "0"
["guid"]=>string(28) "http://www.example.com/?p=88"
["menu_order"]=>string(1) "0"
["post_type"]=>string(4) "post"
["post_mime_type"]=>string(0) ""
["comment_count"]=>string(1) "0"
}
この情報使う分には問題ないけど、moreの前を表示したい時など ちょっと困る。
上記ページにあるように
<ul>
<?php
$myposts = get_posts("numberposts=5&offset=1&category=1");
foreach($myposts as $post) :
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> --- <?php the_excerpt(); ?></li>
<?php endforeach; ?>
</ul>
という書き方が一番いいんだろう。 けどどうも見難いんですよねー。 <?php を <? にすればまだいいけど・・・
なんとなくページ分割はmoreで分割するよりpost_excerptか カスタムフィールドで対応した方が柔軟に利用できる気がする。
このルーティングをしてるのはwp-includes/template-loader.phpっぽい。 index.php以外を削除すれば再ルーティングできる?
やっぱ一から読んでいかないと理解できなそう。。。 下記サイトに期待したいです。
コア部分で多数利用されてる$wp_queryが重要そうなのはわかった。
/ 金額 : ¥ 2,520
1-5
6-10