gpt4 book ai didi

php - 具有关系或不起作用的 Wordpress 税务查询

转载 作者:搜寻专家 更新时间:2023-10-31 21:20:02 25 4
gpt4 key购买 nike

我正在运行一个 wordpress 循环,它从两种帖子类型中获取帖子。

我需要循环来抓取设置了特定类别的帖子。由于它是两种不同的帖子类型,因此它们都有一个类别分类法。当用户在前端选择一个类别时,我希望循环从一个帖子类型中获取所有帖子,该类别在其各自的分类法下,以及另一种帖子类型的所有帖子,在其分类法下具有该类别。

为了简化我正在尝试做的事情的描述:

  • 用户点击前端的“头发和皮肤护理”类别
  • 循环抓取“帖子”下所有属于“头发-皮肤护理”类别的帖子来自'类别名称'
  • 循环抓取类别为“测验”的所有帖子来自“quiz_category”的“头发皮肤护理”
  • 显示所有的帖子发现

让循环从两种帖子类型中抓取并不是问题,但我一直在尝试让循环只抓取具有特定类别的帖子。我正在尝试“tax_query”,但循环似乎完全忽略了它,就好像我根本没有输入 tax_query。

在 tax_query 之外单独运行“category_name”或“quiz_category”都可以正常工作。但在 tax_query 中,它们都被完全忽略了。

    $cat = $_GET['cat'];
$cat = sanitize_text_field($cat);

$args = array(
'post_type' => array('post', 'quizzes'),
'posts_per_page' => -1,
'category__not_in' => array( 9, 10 ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category_name',
'field' => 'slug',
'terms' => $cat
),
array(
'taxonomy' => 'quiz_category',
'field' => 'slug',
'terms' => $cat
),
)
);

最佳答案

我认为问题在于您正在为术语 slug 值传递一个字符串。

tax_query 之外,我认为您可以传递字符串或数组。在 tax_query 中,有多个分类法,我在 documentation 中看到的唯一示例这些值包装在数组中。

文档没有在我能找到的任何地方具体说明这一点。但是,如果您可以只使用字符串而不是数组,那么我直接从上面链接的文档中复制的这个片段将是它应该显示的地方:

$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'quotes' ),
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-quote' ),
),
),
);
$query = new WP_Query( $args );


综上所述,您的代码应如下所示:

  $cat = $_GET['cat'];
$cat = sanitize_text_field($cat);

$args = array(
'post_type' => array('post', 'quizzes'),
'posts_per_page' => -1,
'category__not_in' => array( 9, 10 ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category_name',
'field' => 'slug',
'terms' => array($cat)
),
array(
'taxonomy' => 'quiz_category',
'field' => 'slug',
'terms' => array($cat)
),
)
);

如果这不起作用,您可以回显 $cat 变量并发布结果吗?

关于php - 具有关系或不起作用的 Wordpress 税务查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54488999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com