3

我想为自定义帖子类型的分类术语创建一个 foreach 循环。

更具体地说,我想要一个查询所有产品类别的循环,但不是“特价”类别而不是类别子类别。如果产品没有类别也可以查询它们并按 ASC 顺序对它们进行排序(不像分别对产品和类别进行排序。它们必须同时排序)。

那么我应该如何处理我的代码以使其按需要工作?

当前代码:

<?php

$args = array(
    'post_type'    => 'products',
    'showposts'    => -1,
    'post_status'  => 'publish',
    'parent' => 0,
    'hide_empty' => true,
    'tax_query' => array(
        'taxonomy' => 'categories',
        'field'    => 'slug',
        'terms'    => array( 'special-offers', 'other-terms' ),
        'operator' => 'NOT IN',
    ),
);

$terms = get_terms('categories', $args );

foreach ( $terms as $term ) :

    echo '<h2>' . $term->name . '</h2>';

endforeach; 

?>
4

3 回答 3

3

您的税务查询应该在另一个数组中查找。

'tax_query' => array(
   array(
    'taxonomy' => 'categories',
    'field'    => 'slug',
    'terms'    => array( 'special-offers', 'other-terms' ),
    'operator' => 'NOT IN',
   )
),

其余的似乎还可以。在此查看WP_Codex

于 2017-02-06T11:15:45.810 回答
2

最终解决方案是在分类参数中添加 exclude 和 term id。因为它用于分类并且它使用 foreach 循环。

$args = array(
    'parent' => 0,
    'hide_empty' => true,
    'exclude' => 13,
);

关于如何输出没有分类的自定义帖子类型帖子的答案可以在这里找到:http: //www.codeforest.net/wordpress-tip-show-posts-no-category-term

感谢 CBroe 和 ste 的时间。

于 2017-02-07T09:40:25.253 回答
0

以防有人在 2022 年遇到这个哈哈

$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );

于 2022-02-16T04:07:24.793 回答