masakichi-code

独学エンジニアの技術ブログ

ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】

  • HTML
  • WordPress
  • PHP
  • プラグイン

2024.12.04(水)

ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】
『ページにターム名と関連する投稿を自動で表示したいけど、わからない』
『タームを一覧表示できるようにしたんだけど、意図していない並びになる』
『解決できる方法があれば知りたい』

こういった疑問に答えます。

本記事の内容

  • 自動でターム名と関連する投稿を表示するやり方

Webエンジニア歴2年6ヶ月
WordPressの運営&立ち上げ70サイト以上かかわっている

こういった私が解説していきます。

1. 自動でターム名と関連する投稿を表示するやり方

この方法ではプラグイン『Category Order and Taxonomy Terms Order』と併せて使います。
大体の流れはこんな感じ。

  • その①:管理画面でプラグインの設定をする
  • その②:phpファイルにコードを記載する

それでは順番に解説していきます。

その①:管理画面でプラグインの設定をする

画像付きで解説していきます

管理画面にログインしたら、メニュー『プラグイン』から『Category Order and Taxonomy Terms Order』をインストールします。
ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】001

インストールしたら有効化して、設定画面に入ります。
ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】002

『設定』⇒『Taxonomy Terms Order』の方は、このプラグインの詳細設定なので特にいじらなくてOKですね。

調整するのは、操作したい投稿の『タクソノミーの並び順』から設定に入ります。
ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】003

並び順の入れ替えは、タームをドラッグで入れ替えることができるので直観的な操作ができます。
コードの方で昇順、降順は操作できるますが、昇順だと一番上から取得されていきますよ。
『更新』ボタンを押して管理画面での操作は完了です!
ターム名と関連する投稿を一覧で自動表示するやり方【コピペOK!】004

その②:phpファイルにコードを記載する

コピペして使えます

表示させたいページのphpファイルに下記コードを入れます。
下記は『よくある質問ページ』の例です。

少し長いですが、解説していきます

まず、タームの一覧を取得します。
今回はタクソノミー『q-a-category』からターム一覧を取得しています。
投稿がないタームも『hide_empty』で含めるように調整しました。
『meta_key』、『orderby』では『Taxonomy Terms Order』で設定した値を引っ張ってくるようにしています。
また、『order』でASC(昇順)になるようにしています。

次に、タームが存在しているか確認し、foreachで存在する分繰り返して処理させます。

ある場合には、ターム名をタイトルとして表示。

そのタームに関連する投稿を取得します。
今回はカスタム投稿タイプ『q-a』としています。

投稿をループで表示させています。
今回表示するのは、タイトルとカスタムフィールドの値にしていますが、必要に応じて変えてくださいね。

表示させたい内容をhtmlで出力しています。

最後には、投稿データのリセットを忘れずに入れておきます。

長々と説明しましたが、コードの解説は以上になります。
今回はこんな感じで作成しましたが、もしわからない場合はお気軽に聞いてくださいね。

以上、『ターム名と関連する投稿を一覧で自動表示するやり方』をご紹介しました。
ではまた。