WordPressで、指定したカテゴリに属する記事へのリンクリストを表示させるPHPコードを考えてみた。
このPHPコードを使えば、カテゴリIDを指定することで、そのカテゴリの記事へのリンクを、リストで表示させることができる。カテゴリから抽出した関連記事をリスト表示させたい場合などに、応用できるのではないだろうか。
PHPコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $pickUpCategoryIdList =array(1,3); $numberposts = 5; foreach ( $pickUpCategoryIdList as $pickUpCategoryId ) : $cat = $pickUpCategoryId; ?> <h2><?php print get_the_category_by_ID($cat); ?></h2> <ul> <?php $numberposts++; $postid = get_the_ID(); $postslist = get_posts("numberposts=$numberposts&category=$cat"); $numberposts--; $count=''; foreach ( $postslist as $post ) : $count++; if ( $numberposts < $count ){ break; } if( "$post->ID" == "$postid" ){ $numberposts++; continue; } ?> <li><a href="<?php print get_permalink($post->ID); ?>"><?php print get_the_title($post->ID); ?></a></li> <?php endforeach; ?> </ul> <?php endforeach; ?> |
設定
カテゴリIDを、配列で指定
2 | $pickUpCategoryIdList =array(1,3); |
2行目の、(1,3) の部分で、カテゴリIDを指定している。(1,5,8,11,15) のように、カンマ区切りで、複数指定することが可能。
表示投稿記事数
3 | $numberposts = 5; |
3行目で、表示する投稿記事の数を指定している。
使用方法
テンプレートファイル内で使用する方法
例えば、特定のページ内で使うなら、「page-ID.php」などのテンプレートファイルの表示させたい場所に貼り付ける。
テンプレートファイルについては、Twenty Ten テーマ で見る WordPressテーマ構造の記事が参考になるかも。
投稿欄に入力して使う方法
Exec-PHPや、PHP Executionなどの、投稿記事内で PHP を実行させるWordPressプラグインをインストールしておく必要がある。
投稿記事内で PHP を実行させるWordPressプラグインをインストールしてあれば、あとは、カテゴリを指定したPHPコードを、投稿欄に入力するだけ。
出力
1 2 3 4 5 | <h2>カテゴリ名</h2> <ul> <li><a href="投稿記事1へのパーマリンク">投稿記事1のタイトル</a></li> <li><a href="投稿記事2へのパーマリンク">投稿記事2のタイトル</a></li> </ul> |
上のようなHTMLが出力されるはず。
使用する際は、自己責任でね。気に入ったらリンクを貼って下さい。