WordPressでカテゴリ別の新着記事を表示する方法
WordPressでカテゴリ別の新着記事情報をページや記事内に貼り付けるための方法です。
方法はいくつかありますが、この無料SEO対策ブログで使用している方法を解説します。
Exec-PHPのインストール
通常、WordPressは投稿画面でPHPが扱えませんので、PHPを使うためのプラグインをインストールします。
投稿画面ではなくPHPファイルに直接コードを記述する場合には、Exec-PHPのインストールは必要ありません。
- Exec-PHPのダウンロード
- /plugins/にアップロードし有効化
- ユーザ⇒あなたのプロフィール下部にExec-PHP Settingsという項目が追加されますので、チェックを入れプロフィールを更新
以上で投稿画面(HTML)内でPHPを利用できるようになりますが、ビジュアルエディタにするとコードが崩れるので注意です。また、投稿設定の「不正にネスト化した XHTML を自動的に修正する」のチェックも外してください。
カテゴリ別の新着記事表示
<ul>
<?php $posts = get_posts('numberposts=10&cat=21'); global $post;?>
<?php foreach($posts as $post): ?>
<li><?php the_time('m月d日'); ?>・・・<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
「numberposts=」が表示する記事件数、「cat=」が表示するカテゴリIDです。カテゴリIDはカテゴリ編集画面のURLで確認できます。
全カテゴリの新着記事表示
カテゴリに関係なく全ての記事の新着情報を表示したい場合には、上記の「&cat=21」を削除すればOKです。トップページは普通に新着記事を表示し、当SEOブログのようにサブページにカテゴリ毎の新着記事を表示しても良いでしょう。
当ブログのSEO質問箱のソース
SEO質問箱の新着記事表示部分のソースです。
<ul class="seo-faq">
<?php $posts = get_posts('numberposts=10&cat=21'); global $post;?>
<?php foreach($posts as $post): ?>
<li><?php the_time('m月d日'); ?>・・・<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<p class="al-r"><span class="rss"><a rel="nofollow" href="http://www.seo-blogs.biz/category/faq/feed/">新着情報</a></span></p>
ulに高さを指定してoverflow: auto;でスクロールバー表示にしています。RSSフィードはFAQカテゴリのURLです。WordPressはカテゴリURLの最後に/feed/を追加すればフィードURLとなります。
関連する投稿
2009年06月28日 コメントは受け付けていません。 |
トラックバック&コメント
まだトラックバック、コメントがありません。


