こんにちは。
今回はWordPressのサイトに簡単に新着記事を表示できるプラグイン「Display Posts」で、標準的な新着記事一覧を作っていきます。
- 使用しているテーマがクエリループブロックに対応していない場合
- 子テーマを作ったりフックで対応するのが難しい場合
上記のような場合は、このプラグインで対応できます。
ただし、カスタム投稿タイプのタクソノミーは表示できません。
カスタム投稿タイプは指定できますがタクソノミーまでは出せませんのでご注意ください。
プラグインをインストールする




「Display Posts」プラグインは、インストールしたらその後の設定画面などはありません。
その代わりプラグイン一覧画面の説明のところに、「詳細を表示」というリンクがありますので、そちらを参照しながら、使用したいスタイルに合わせてショートコードをカスタマイズしていくのですが、色々あって分かりづらいので、ベーシックな表示例をいくつかご紹介します。
このプラグインはショートコードを利用します。


プラグイン専用のショートコード([ ]で囲まれている文字列)を、WordPressのショートコードブロックを使用して挿入してください。


よく使う便利なパラメータ・フィルター一覧
このパラメータの中から使いたいものを選んでショートコード内にどんどん挿入していく感じです。
パラメータ | 内容・用途 | 記述例 |
---|---|---|
category | 指定カテゴリの投稿を表示 | category="news" |
tag | 指定タグの投稿を表示 | tag="pickup" |
author | 投稿者IDを指定 | author="2" |
post_type | 投稿タイプを指定 | post_type="page" |
posts_per_page | 表示件数を指定 | posts_per_page="5" |
order | 昇順/降順を指定(ASC or DESC ) | order="ASC" |
orderby | 並ばせる条件(date 日付順, title タイトル, rand ランダム) | orderby="rand" |
include_excerpt | 抜粋を表示 | include_excerpt="true" |
excerpt_length | 抜粋の長さ(単語数)※文字数では制御できません!単語数です | excerpt_length="20" |
image_size | アイキャッチ画像のサイズを指定(WordPress登録サイズ) | image_size="medium" |
include_date | 日付を表示 | include_date="true" |
date_format | 日付フォーマット(php のdate関数に準拠) | date_format="Y.m.d" |
wrapper | 全体のラッパータグ(例:div, ul, ol など) | wrapper="ul" |
class | ラッパーにCSSクラスを追加 | class="custom-class" |
全てのパラメーターは公式サイトへ
プラグインの公式サイトに使用できるパラメーターが紹介されていますので、適時使用してください。
使用例
例1)アイキャッチ・日付・カテゴリー名・タイトル
[display-posts posts_per_page="5" image_size="thumbnail" include_date="true" include_date="true" date_format="Y/m/d" category_display="true" category_label=""]
コード解説
上記のコードでは、
- 新しい順に5件表示する
- アイキャッチをサムネイルサイズで表示する
- 日付を表示する
- 日付のフォーマットは西暦・○月○日形式で表示
- 記事が所属しているカテゴリー名を表示
- カテゴリー名の前に表示される文字列の設定(見本では表記無しにしている)
このような設定になります。
これで標準的な最新記事一覧が表示されるはずです。
例2)日付・カテゴリー名・タイトル・記事の抜粋
アイキャッチのないシンプルな表示例です。
[display-posts posts_per_page="5" image_size="thumbnail" include_date="true" include_date="true" date_format="Y/m/d" category_display="true" category_label="" include_excerpt="true" excerpt_more="…"]
コード解説
上記のコードでは、
- 新しい順に5件表示する
- 日付を表示する
- 日付のフォーマットは西暦・○月○日形式で表示
- 記事が所属しているカテゴリー名を表示
- カテゴリー名の前に表示される文字列の設定(見本では表記無しにしている)
- 記事の抜粋を表示する
- 記事の抜粋の最後に「…」を表示させる指示
このような設定になります。
これでアイキャッチのないシンプルな最新記事一覧が表示されるはずです。
例3)カスタム投稿タイプを指定する場合
デフォルトでは通常の投稿が取得されるようになっていますが、カスタム投稿タイプを指定する場合はpost_type="〇〇"
を記述してあげます。〇〇のところにカスタム投稿のスラッグを入れます。
[display-posts posts_per_page="5" image_size="thumbnail" include_date="true" include_date="true" date_format="Y/m/d" category_display="true" category_label="" include_excerpt="true" excerpt_more="…" post_type="〇〇"]
注意:カスタム投稿のタクソノミー名を取得することはできないっぽいです。タクソノミーで絞ることはできそうです。
メモ:クエリループブロックで事足りる人はそちらへ。
通常はクエリループブロックで十分に対応できると思いますが、私がよく使用する無料テーマ「Arkhe」では、Arkheブロックとの競合を避けるためにクエリループブロックが非表示になっています。
今回は子テーマを使用して制作することが難しかったので、プラグインで対応しました。
クエリループブロックなら、編集画面でもパッと見てどの情報が表示されているのか・何件表示させるのかも触りやすい場合もありますので、そのサイトの仕様に合わせてどちらか選んでください。
Arkheテーマにてアクションフックを利用してクエリループブロックを有効化させるコードを紹介しますので、子テーマを利用できる場合はこちらのコードを参考にしてください。


SWELLでの使用方法については以下に紹介しております。ArkheとSWELLは同じ制作者さんですが、コードが若干違います。


注:CSSはお好みで設定してください
CSSはご自身で自由に編集・追加してください。
例えば出力されるliにflexをかけて、その中身に対してorderで順番を決めてあげれば、タイトルの前に日付やカテゴリー名を移動させることも可能です。
いずれにせよ上級者の方には特に問題なく使ってもらえると思います。