此代码未过滤 wordpress 中的类别。如果我删除 cat slug 它正在显示数据,但我要求某些特定类别它不起作用
Posted
技术标签:
【中文标题】此代码未过滤 wordpress 中的类别。如果我删除 cat slug 它正在显示数据,但我要求某些特定类别它不起作用【英文标题】:This code is not filtering the category in wordpress. if i remove cat slug it's showing data but i request for some specfic category it's not workin 【发布时间】:2022-01-12 03:05:07 【问题描述】:请帮我解决这个问题
$args = array(
'post_type' => 'post',
'posts_per_page' => intval( $items ),
'paged' => $paged
);
if ( ! empty( $cat_slug ) )
$args['tax_query'] = array(
array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $cat_slug
),
);
if ( ! empty( $exclude_cat_slug ) )
$args['tax_query'] = array(
array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $exclude_cat_slug,
'operator' => 'NOT IN'
),
);
【问题讨论】:
【参考方案1】:您正在覆盖tax_query
。我修改了你的代码。试试下面的代码。
$tax_query = array( 'relation' => 'AND' );
if ( ! empty( $cat_slug ) )
$tax_query[] = array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $cat_slug
);
if ( ! empty( $exclude_cat_slug ) )
$tax_query[] = array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $exclude_cat_slug,
'operator' => 'NOT IN'
);
$args = array(
'post_type' => 'post',
'posts_per_page' => intval( $items ),
'paged' => $paged,
'tax_query' => $tax_query
);
【讨论】:
【参考方案2】:taxonomy' => 'category', 'field' => 'slug', 'terms' => $cat_slug
只需将 Post_category 删除到类别
现在它可以工作了。 DTP 插件 NUSAFE 主题
【讨论】:
以上是关于此代码未过滤 wordpress 中的类别。如果我删除 cat slug 它正在显示数据,但我要求某些特定类别它不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 Wordpress 中使用自定义帖子类型时无法在循环中过滤类别
如何在 wordpress 中使用 LIKE 搜索类别名称的帖子?