助けてくれてありがとう。
分類法を使用してカスタムアーカイブ(アーカイブではありません)にいます。そして表示したいのですが。
それほど難しいようには思えませんが、私にとってはそうです...私はクエリで私の税の言葉を使う正しい方法を見つけられませんでした...
これが私の試みのうちの1つです。
$ terms = wp_get_post_terms($ post-> ID、 'identite'); //分類法を取得する foreach($ termsを$ termとして){ echo "$ term-> slug"; //テスト専用 - ok $ args = array( 'post_type' => 'example'、 'tax_query' => array([。 [relation] => [AND]、 配列( 'taxonomy' => 'identite'、 'field' => 'ID'、 。] 'terms' => $ terms ) ); // end args $ query = new WP_Query($ args); if($ query-> have_posts()){ while($ query-> have_posts()){ $ query-> the_post (); //ちょっと祈りますが、うまくいきません } // end of while }
私はこのエラーメッセージを得ます: クラスWP_Termのオブジェクトはintに変換できませんでした
オブジェクトを変換して読みやすくするためのアイデアはありますか?どうもありがとう
(編集:私は関数wp_list_pluckを使ってみたが成功しなかった)
WP_Query
でこれを試してください
$args = array(
'post_type' => 'example',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'identite',
'field' => 'ID',
'terms' => $term->term_id
)
),
);// end args
OR
$args = array(
'post_type' => 'example',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'identite',
'field' => 'ID',
'terms' => array($term->term_id)
)
),
);// end args
$term
はオブジェクトで、tax_query
はidの配列を期待します。
参照してください: https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
$args
配列の設定方法が原因で、このエラーメッセージが表示されます。 tax_query
には、現在の投稿のすべての用語IDの配列を渡します。また、field
の値が正しくありませんでした(Codexの WP_Query#Taxonomy_Parameters を参照)。
最終的なコードは次のようになります。
<?php
$terms = wp_get_post_terms( $post->ID, 'identite');
$terms_ids = [];
foreach ( $terms as $term ) {
$terms_ids[] = $term->term_id;
}
$args = array(
'post_type' => 'example',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'identite',
'field' => 'term_id',
'terms' => $terms_ids
)
),
);
$query = new WP_Query($args);
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// All the magic here
}
}