WP查询如果在类别OR中具有分类

时间:2016-08-26 16:29:15

标签: php wordpress

我需要弄清楚如何通过以下条件查询帖子: 如果他们属于类别(通过ID)或他们有分类术语。因此,在一个存档页面上,我拥有类别ID为12的所有帖子,以及所有具有分类术语“archive-trading-tools”的帖子我已经设置了自定义分类法,并且该部分正在运行。我被困在:

<?php
$query_args = array(
    'post_type' => array('post', 'webinar'),
    'posts_per_page' => 10,
    'paged' => $paged,
    'page' => $paged,
    'cat' => 12, 
    //'relation' => 'OR'
    );
$query_args['tax_query'] = array (
    'taxonomy' => 'archive-categories',
    'term' => 'archive-trading-tools'
    );

$the_query = new WP_Query( $query_args );
?>

2 个答案:

答案 0 :(得分:0)

在WordPress中,类别是内置分类法。然后在理论上,以下应该有效。

$args = array(
'post_type' => array('post', 'webinar'),
'posts_per_page' => 10,
'paged' => $paged,
'page' => $paged,
'tax_query' => array(
    'relation' => 'OR',
    array(
        'taxonomy' => 'archive-categories',
        'field'    => 'slug'
        'terms'    => 'archive-trading-tools',
    ),
    array(
        'taxonomy' => 'category',
        'field'    => 'term_id',
        'terms'    => 12
    )
)
);
$query = new WP_Query( $args );

答案 1 :(得分:0)

要扩展@ depiction的答案,您在tax_query中的'terms'应该是“term”而不是“terms”。不在最后。

$args = array(
'post_type' => array('post', 'webinar'),
'posts_per_page' => 10,
'paged' => $paged,
'page' => $paged,
'tax_query' => array(
'relation' => 'OR',
    array(
        'taxonomy' => 'archive-categories',
        'field'    => 'slug'
        'terms'    => 'archive-trading-tools',
    ),
    array(
        'taxonomy' => 'category',
        'field'    => 'term_id',
        'terms'    => 12
    )
    )
);
$query = new WP_Query( $args );