• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

東京都を拠点にWebサイト制作やシステム構築、WordPress保守管理やウェブコンサルティングを提供。

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / [WordPress]カスタムタクソノミーで分類した特定のタームに所属するカスタム投稿記事を取得し表示する

[WordPress]カスタムタクソノミーで分類した特定のタームに所属するカスタム投稿記事を取得し表示する

池田祐太郎 | 2018年6月2日 更新 | 2014年10月12日 公開 コメントを書く

WordPressネタです。
特定のカスタムタクソノミーに分類され、かつ特定のタームに所属するカスタム投稿記事を取得して、自由に表示するTIPSです。
マニアックですが、自分的にも忘れないようにメモ書きとして残しておきます。

目次

  • 1 カスタム投稿記事をループさせる
  • 2 タクソノミーとタームを設定してループさせる
    • 2.1 解説
    • 2.2 参考にした記事

カスタム投稿記事をループさせる

これはさほど難しくありません。ループにはquery_postやWP_Query、get_postsなどいくつか取得できるタグがありますが、get_postsで取得した例文です。

<?php $posts = get_posts(‘post_type=custom_posttype_name’); //カスタム投稿タイプ名をいれます ?>
<ul>
<li style=”list-style-type: none”>
<ul><!–?php foreach ($posts as $post) : setup_postdata($post); ?–>
<li></li>
</ul>
</li>
</ul>

これだけであれば以下のようにカスタム投稿記事のリンク付き記事一覧が生成されます。

Custom post list 2

簡単ですね。これならば問題ないんですが、一つのカスタム投稿内において、カスタムタクソノミーに分類され、いくつかタームを設定している場合もあると思います。そのように「特定のカスタム投稿タイプかつ、特定のタームに属する記事のみループさせたい」となると話が変わります。

タクソノミーとタームを設定してループさせる

仮に、投稿タイプを「制作事例」、タクソノミーを「エリア」、タームに「国内」「海外」となるカテゴライズされた記事があるとし、「国内だけの記事一覧を表示させる」というコードを書きます。

・カスタム投稿タイプ:制作事例(works)
・カスタムタクソノミー:エリア(area)
・ターム:国内(domestic)

<ul>
<li style=”list-style-type: none;”>
<ul><?php $args = array( ‘post_type’ =&gt; ‘works’, //投稿タイプは制作事例なのでworksに設定 ‘tax_query’ =&gt; array( //タクソノミー、タームの設定 array( ‘taxonomy’ =&gt; ‘area’, //タクソノミーはエリアなのでareaに設定 ‘field’ =&gt; ‘slug’, //基本的にslugに指定します(必須) ‘terms’ =&gt; ‘domestic’ //タームは国内なのでdomesticに設定 ) ) ); $domestic_post = get_posts($args); if($domestic_post) : foreach($domestic_post as $post) : setup_postdata( $post ); ?>
<li></li>
</ul>
</li>
</ul>
表示する記事がありません。

上記のような感じで表示ができました。
適宜変数や名称は変更してください。

解説

カスタム投稿タイプだけの時はget_postsに直接指定していましたが、タクソノミーやタームの指定をする場合、「tax_query」を指定する必要があり、配列で見た目的に別の変数に代入した方がわかりやすいため、今回は変数$argsを作成しています。

この「tax_array」は配列で指定する必要があり、「taxonomy」「field」「terms」を指定します。
タクソノミー、タームはそれぞれ該当する文字列を入力します。
fieldに関しては「タクソノミーをidかslugで選択する」ためにあるのですが、基本slugで設定しておくのが無難です。
これら指定を忘れると表示されずハマるので注意しましょう。僕はこれでハマりました。

get_postsで条件のループが取れれば、あとはforeachでループさせればOKです。

※query_postでも可能ですが、色々な記事を見ると不具合があったり、そもそもメインループを変更させたくない場合はget_postsまたはWP_Queryを使用します。
また、setup_postdata()の変数はグローバル変数$postに設定します。別の変数にしたら動きません。
参考:関数リファレンス/setup postdata

参考にした記事

  • お手軽WordPress Tips:カスタムタクソノミーで作成した特定のタームに属する記事の一覧を表示数を指定して表示する – かちびと.net
  • 【WordPress】カスタム投稿タイプの記事一覧を取得して表示するソースコード
  • 出遅れWPノート: query_postsでtax_query渡すときのfieldはnameではなくslugで
  • テンプレートタグ/get posts – WordPress Codex 日本語版
  • 関数リファレンス/WP Query – WordPress Codex 日本語版
メールコンサルティング
WordPress保守管理サービス

カテゴリTIPS 関連タグ:WordPressカスタマイズ

池田祐太郎

WordPress の構築・保守を10年以上にわたって手掛けており、主に小〜中規模のコーポレートサイト・ECサイト・ブランドサイト等の企画・開発・保守・コンサルティングなどを行ってきました。2012年にハイファイブクリエイトを創業し、現在は WordPress の保守やコンサルティング、ディレクションや開発業務などを担当しています。 プロフィール詳細

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

この記事と関連する記事

同一ページでMW WP Formのフォームを切り替える方法
2023年8月29日
タグ: WordPressカスタマイズ
カテゴリー: TIPS
WordPressの固定ページでタグやカテゴリーを使いたいときはカスタム投稿タイプを検討する
2022年1月27日
タグ: WordPressカスタマイズ
カテゴリー: WordPress
フレームワークを使ってWordPressサイトをリニューアルしたら表示速度が速くなった話
2018年6月4日
タグ: Webサイト高速化, WordPressカスタマイズ
カテゴリー: WordPress, ホームページ制作, モバイル

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • 2024-2025年末年始の営業のご案内
  • WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
  • 遅延読み込み開始させる画像を変更させるWordPressカスタマイズ
  • WordPressで特定の画像やアイキャッチ画像をlink rel=”preload”に設定する
  • WordPressのプラグインがどのくらい表示速度を重くさせるのか22個のプラグインで検証

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

ai Android ChatGPT CMS css DALL-E elementor gmail google workspace Gutenberg HTML iPhone jQuery Mac Photoshop php SEO SNS ssh SSL Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン セキュリティ ツール ブログ プラグイン マーケティング リニューアル レスポンシブWebデザイン 保守管理 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 情報セキュリティ基本方針
  • 特定商取引法に基づく表示
  • 転載/引用

© 2025 high five create All rights reserved.