【Wordpress】ウイジェットで特定のカテゴリーの記事のみ表示させてみる
ワードプレスのサイドバーに特定のカテゴリーの記事一覧を表示させてみたのでその備忘録です。
やり方
ワードプレスは特定のカテゴリーの記事だけを一覧表示させたいという希望にも柔軟に応えてくれます。
たとえばアフィリエイトサイトで「お問合せに対する回答」といったカテゴリーがあったとします。
その回答の記事だけをサイドバーに一覧表示させたいなんて言う時にも使えます。
もちろん”特定のカテゴリーの商品記事だけを表示”なんていうのにも使えます。
今回はウイジェットのテキスト内に直接phpコードを書いて動かしてみます。
①投稿本文やウィジェットのテキストに書いたphpを動作させるためにExec-PHPというプラグインをインストールして有効化します。
(必ずしもこのプラグインである必要はありません。似たような効果を持つプラグインなら大丈夫です)
有効化したら、「設定」→「Exec-PHP」で「Execute PHP code in text widgets」の右脇にあるチェックボックスにチェックを入れ、保存(save)ボタンをクリックします。
これで OK です。
②管理画面→投稿→カテゴリーでカテゴリ―を新規作成します。
(一例ですので適宜変更してください)
③管理画面→外観→ウィジェットを開き、表示させたいウィジェットエリアに「テキスト」をドラッグします。
タイトルに表示させたいタイトルを書き、その下の枠に下記コードを打ち込み『保存ボタン』をクリックします。
0 1 2 3 4 5 6 7 8 9 10 11 12 |
<ul> <?php $posts = get_posts('numberposts=7&category=61'); global $post; ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br /><?php the_date('n月d日'); ?></li> <?php endforeach; endif; ?> </ul> |
「numberposts=7」というのは表示したい記事数です。
ここでは最大7記事という設定です。
「category=61」の61はカテゴリーのIDです。
調べ方はこちら↓。
全体の意味は「カテゴリー IDが61の記事を最新のものから7記事、リンク付きでタイトルのみを日付入りでリスト形式で表示させよ」というものです。
もしも"日付はいらない"ということであれば、<br /><?php the_date('n月d日'); ?> の部分をごっそり削除します。
(<br />は「改行」という意味です)
上の例を直接反映したものではないですが、こんな↓感じで表示されます。
以上です。
きゅいじん さん
ご返信遅れまして申し訳御座いません。
出来ました!!!
とても助かりました!
本当にありがとう御座います!
これで今後かなり作業効率が良くなりそうです♪
今後も参考にさせて頂きます。
本当にありがとう御座いました。
この記事にとても助けられました。
「特定のカテゴリーの記事だけを一覧表示」を紹介しているサイトやブログはいくつも見つかったのですが、記載するコードのみ書かれていたり、このコードを○○のフォルダにみたいな感じで、肝心な入力する細かい場所や入力の方法が書かれておらずとても困っていました。
こちらの記事ではその細かな部分まで紹介されていたので無事解決できました。
もしお手数でなければ一つだけ質問をさせて頂きたいのですが、
「特定のカテゴリーの記事だけを一覧表示」で表示は出来たものの、
そのカテゴリ内で日付が新しい記事から順に上から表示されております。
そこを古い順に表示させる方法がありましたら教えて頂きたいと思っております。
宜しくお願い致します。
※テーマはBizVektorを使用させて頂いております
カバディさん、きゅいじんです。
こんにちは。
お役に立てて何よりです。
日付を古い順にですが、日付昇順のコードを足せばよろしいかと。(動作未検証です)
&category=61の後ろに
&order=ASC
もしくは
&order=ASC&orderby=date
を足してみてください。