WordPressで固定ページ内に記事一覧を表示させる
固定ページは通常html等で新たに構成したコンテンツが表示されますが、使用用途によってはある特定のカテゴリー一覧を表示させたい場合もあります。例えば、ナビゲーションの部分は通常は固定ページを表示させているが、その中の1つを「最新記事」などとし、記事として作成した投稿の一覧表示をさせたい場合などです。
こちらを実現するためには2つのステップが必要です。
- WordPressの固定ページ(あるいは記事)に「PHP」が書き込める状態にすること※初期状態は出来ません。
- 該当のページに必要なPHPプログラムを書き込み、公開する
STEP1:Wordpressの固定ページ(あるいは記事)に「PHP」が書き込める状態にする方法
もっとも簡単な方法として、これを可能にするプラグインのインストールを紹介します。
インストールするプラグイン:「Exec-PHP」
こちらを通常のプラグインのインストール方法通りにインストールします。「有効化」をすれば、特別な設定をせずとも既にPHPが書き込める状態になります。
Exec-PHP設定の補足
インストール、有効化しただけで使えますが、初期の状態では新規投稿(新規記事作成)をしようとするたびに管理画面の最上部に以下の警告文が表示されます。
Exec-PHP WYSIWYG Conversion Warning. Saving this article will render all contained PHP code permanently unuseful. Even if you are saving this article through the Code editor. You can turn off this warning in your user profile. Ignore this warning in case this article does not contain PHP code. Read the Exec-PHP documentation if you are unsure what to do next.
PHP WYSIWYG変換の警告。この記事を保存すると、コードエディタでこの記事を保存している場合であっても、格納されているすべてのPHPコードが恒久的に使えないようになります。この記事にPHPコードが含まれおらず、警告を無視したい場合は、ユーザプロファイルにて警告をオフにすることができます。不明な場合は、exec – PHPのマニュアルをお読みください。
STEP2:該当のページに必要なPHPプログラムを書き込み、公開する
今回は例として、ある固定ページを表示させた際に、コンテンツとしてある特定のカテゴリーの記事一覧を表示させます。
表示例
- 2012.01.24 WordPressで固定ページ内に記事一覧を表示させる
- 2012.01.21 WordPressでカテゴリーをクリックした際に記事のタイトル一覧を表示させる方法
記入するコード例
<?php query_posts($query_string . 'showposts=xxx&cat=yyy'); ?> // xxx には表示させる最大数を、yyyには表示させるカテゴリーIDを入力 <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <ul> <li><?php the_time('Y年m月d日') ?><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> </ul> <?php endwhile; ?> <?php else : ?> <?php endif; ?> <?php query_posts($query_string . ""); ?>