因此,我有一个客户端,它希望非常具体地选择显示在页面上的帖子。我试着编辑一个我已经做好的短代码。
假设它们有A、B和C类,其中每个类别都可以是Wordpress中的任意类别。所以A可以是新闻,博客,特写等等。
他们希望能够显示有(A和B)或(A和C)的帖子。所以在布尔表示法中,A&(B=C )。
我如何创建一个WP_Query来完成这个任务?我可能可以使用和SQL语句来管理它,但我很想避免这种情况。我还希望能够通过一些简短的代码参数(可能是2-3个不同的参数)来处理这些关系,因此,如果可能的话,尽量不要变得太复杂。
发布于 2020-03-10 14:38:25
税费_查询属性是您所需要的。
你可以这样用它:
$query_args = array(
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'slug-of-category-a' ),
),
array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'slug-of-category-b' ),
),
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'slug-of-category-c' ),
),
),
),
);
$query = new WP_Query( $query_args );或者,利用" in“运算符(默认情况下用于查询术语时在tax_query中使用)已经充当" Or”条件,您还可以编写:
$query_args = array(
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'slug-of-category-a' ),
),
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'slug-of-category-b', 'slug-of-category-c' ),
),
),
);
$query = new WP_Query( $query_args );这将得到A中的帖子,并且:
有关更多选项,请参阅我链接到的文档。
https://wordpress.stackexchange.com/questions/360368
复制相似问题