所以这里是我的问题,我想显示帖子,如果有相同的类别,如果没有帖子,然后显示相同标签的帖子。为此,我使用了;pre\\u get\\u posts“;行动和如下设置查询。
function related_custom_posts($query){
$query->set( \'category__in\', array(2,3) );
$query->set( \'tag__in\', array(10,13) );
}
add_action( \'pre_get_posts\', \'related_custom_posts\', 1 );
但它会创建这样的sql
AND ( wp_term_relationships.term_taxonomy_id IN (2) AND tt1.term_taxonomy_id IN (11) )
但我需要有条件的
AND ( wp_term_relationships.term_taxonomy_id IN (2) OR tt1.term_taxonomy_id IN (11) )
提前谢谢。
最合适的回答,由SO网友:Sally CJ 整理而成
您可以使用tax_query
argument 像这样:
$query->set( \'tax_query\', array(
\'relation\' => \'OR\',
array(
\'taxonomy\' => \'category\',
\'terms\' => array( 2, 3 ),
),
array(
\'taxonomy\' => \'post_tag\',
\'terms\' => array( 10, 13 ),
),
) );