从 WP_Query 中排除特定字词
Excluding Specific Terms from WP_Query
我想为自定义 post 类型的分类术语创建一个 foreach 循环。
更具体地说,我想要一个查询所有产品类别的循环,但不是类别 "special-offers",也不是类别子类别。如果产品没有类别也可以查询它们并按 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;
?>
您的税务查询应该在另一个数组中查找。
'tax_query' => array(
array(
'taxonomy' => 'categories',
'field' => 'slug',
'terms' => array( 'special-offers', 'other-terms' ),
'operator' => 'NOT IN',
)
),
其余部分似乎还可以。
查看 WP_Codex 这个
最终解决方案是在分类法参数中添加排除项和术语 ID。因为它是用于分类法并且它使用 foreach 循环。
$args = array(
'parent' => 0,
'hide_empty' => true,
'exclude' => 13,
);
关于如何输出没有分类的自定义 post 类型 post 的答案可以在这里找到:http://www.codeforest.net/wordpress-tip-show-posts-no-category-term
感谢 CBroe 和 ste 的宝贵时间。
以防有人在 2022 年遇到这个问题哈哈
$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );
我想为自定义 post 类型的分类术语创建一个 foreach 循环。
更具体地说,我想要一个查询所有产品类别的循环,但不是类别 "special-offers",也不是类别子类别。如果产品没有类别也可以查询它们并按 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;
?>
您的税务查询应该在另一个数组中查找。
'tax_query' => array(
array(
'taxonomy' => 'categories',
'field' => 'slug',
'terms' => array( 'special-offers', 'other-terms' ),
'operator' => 'NOT IN',
)
),
其余部分似乎还可以。 查看 WP_Codex 这个
最终解决方案是在分类法参数中添加排除项和术语 ID。因为它是用于分类法并且它使用 foreach 循环。
$args = array(
'parent' => 0,
'hide_empty' => true,
'exclude' => 13,
);
关于如何输出没有分类的自定义 post 类型 post 的答案可以在这里找到:http://www.codeforest.net/wordpress-tip-show-posts-no-category-term
感谢 CBroe 和 ste 的宝贵时间。
以防有人在 2022 年遇到这个问题哈哈
$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );