谢谢你的帮助。
我在一个自定义的帖子(不是档案)中发布分类法。我想展示:
其他一些自定义帖子,按照当前的分类法,似乎并不难,但对我来说确实如此。。。我没有找到在查询中使用我的税款术语的正确方法。。。
以下是我的一个尝试:
$terms = wp_get_post_terms( $post->ID, \'identite\'); // to get my taxonomy
foreach ( $terms as $term ) {
echo "$term->slug"; // just for test - ok
$args = array(
\'post_type\' => \'example\',
\'tax_query\' => array(
\'relation\' => \'AND\',
array(
\'taxonomy\' => \'identite\',
\'field\' => \'ID\',
\'terms\' => $terms
)
),
);// end args
$query = new WP_Query( $args);
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// Little pray, but doesn\'t work
}//end of while
}
我获得了此错误消息:
类WP\\u Term的对象无法在中转换为int有没有想法转换我的对象并使其可读?非常感谢
(编辑:我尝试使用wp\\u list\\u pulk功能,但没有成功)
最合适的回答,由SO网友:Aniruddha Gawade 整理而成
试试这个WP_Query
$args = array(
\'post_type\' => \'example\',
\'tax_query\' => array(
\'relation\' => \'AND\',
array(
\'taxonomy\' => \'identite\',
\'field\' => \'ID\',
\'terms\' => $term->term_id
)
),
);// end args
或
$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
SO网友:Marc-Antoine Parent
由于您设置$args
大堆在tax_query
, 您需要为当前帖子传递一个包含所有术语ID的数组。此外field
值不正确(如此处的法典所示: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
}
}