質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

799閲覧

【WordPress】カスタムタクソノミー記事を複数のカテゴリーで絞り、一覧表示する

sus

総合スコア9

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/08/26 07:56

カスタム投稿記事をWP_Queryで取得する際に思うように記事が取得できません。
taxonomy1で設定したcat1とcat2の2つのカテゴリ両方を含む記事を表示したいのですが全件表示されてしまいます。
wordressに詳しい方解決方法を教えていただきたいです。よろしくお願いします。

archive

1<?php 2 $args = array( 3 'post_type' => 'post1', 4 'taxonomy' => 'taxonomy1', 5 'terms' => array('cat1', 'cat2'), 6 'operator' => 'AND', 7 'field' => 'slug', 8 'posts_per_page' => -1, 9 'no_found_rows' => true, 10 ); 11 12 $query = new WP_Query($args); 13 ?> 14 <h3><?php echo esc_html($term->name); ?></h3> 15 <ul> 16 <?php if ($query->have_posts()) : ?> 17 <?php while ($query->have_posts()) : $query->the_post(); ?> 18 <li> 19 <?php the_title(); ?> 20 </li> 21 <?php endwhile; ?> 22 <?php wp_reset_postdata(); ?> 23 <?php endif; ?> 24 </ul> 25

こちらの記事を参考に別のやり方を書いたのですがうまくいきませんでした。

https://ghweb.info/post-3685.html

$args = array( 'post_type' => 'post1', 'tax_query' => array( array( 'taxonomy' => 'taxonomy1', 'field' => 'slug', 'terms' => array('cat1', 'cat2'), ), ), );

補足情報(FW/ツールのバージョンなど)

wordpress:5.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こうではないでしょか。

$args = array( 'post_type' => 'post1', 'tax_query' => array( array( 'taxonomy' => 'taxonomy1', 'field' => 'slug', 'terms' => array( 'cat1', 'cat2' ), 'operator' => 'AND' // 追加 ), ), );

タクソノミーのパラメータ
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.BF.E3.82.AF.E3.82.BD.E3.83.8E.E3.83.9F.E3.83.BC.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF

operator のデフォルトは、IN で、terms で指定したタームのいずれかに合致したものを表示します。
なので、operator を設定してないのでデフォルトの表示なったのではないでしょうか。

参考まで。

投稿2021/08/26 13:48

8-0_nyan5

総合スコア2352

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問