当前位置: 首页 > 知识库问答 >
问题:

WP_Query tax_查询多个分类法和术语

弓泰
2023-03-14

我在返回包含多个分类法和术语的帖子时遇到了一些麻烦。希望比我有更多知识的人能帮助我理解。

我使用一个选择菜单用页面的分类信息(在本例中是产品页面)填充选择选项。在tax_查询中使用单个分类法和术语都很好,但只要我尝试使用数组传递倍数,我就不再返回任何内容。这似乎很简单,但我遗漏了一些东西。有什么想法吗?

以下是我的工作内容:

$producttype = $_GET['ProductType'];
$businessunit = $_GET['BusinessUnit'];
$products = new WP_Query( array( 
  'post_type' => 'products',
  'posts_per_page' => 15,
  'orderby' => 'title',
  'order'   => 'ASC',
  'paged' => $paged,
  'tax_query' => array(
    'relation' => 'OR',
     array(
       'taxonomy' => 'producttype',
       'field' => 'name',
       'term' => $producttype
     ),
     array(
       'taxonomy' => 'businessunit',
       'field' => 'name',
       'term' => $businessunit
     )
  )
)

共有1个答案

鞠乐
2023-03-14

您的错误是一个键数组tax\u查询=

$producttype = $_GET['ProductType'];
$businessunit = $_GET['BusinessUnit'];
$products = new WP_Query( array( 
  'post_type' => 'products',
  'posts_per_page' => 15,
  'orderby' => 'title',
  'order'   => 'ASC',
  'paged' => $paged,
  'tax_query' => array(
    'relation' => 'OR',
     array(
       'taxonomy' => 'producttype',
       'field' => 'name',
       'terms' => $producttype
     ),
     array(
       'taxonomy' => 'businessunit',
       'field' => 'name',
       'terms' => $businessunit
     )
  )

参考wordpress

 类似资料:
  • 我在这个问题上搜索了很多,但找不到任何有说服力的东西。也许有人能帮我! 我有自定义帖子类型的地方和两个自定义分类法的地方区域和地方类别。我正在根据这两个分类法构建一个下拉过滤器。如果筛选器是空的,并且选择了两种分类法,那么一切都很好。但是我不知道如何使它工作,如果一个分类法有价值,另一个是空的。 我的问题是: 我认为空值将意味着所有分类术语,但它似乎在寻找一个不存在的术语,并返回空结果。 如果术语

  • 问题内容: 我有两种日志消息: 第一个消息是已发送消息的类型,第二个消息是确认消息已传递的消息。 它们之间的区别是后缀,我已将其与“ id”分开并可以对其进行查询。 这些消息将按以下格式解析并存储在elasticsearch中: 我想找出哪些消息已成功发送,哪些没有成功。我是Elasticsearch的初学者,所以我真的很努力。 我目前正在尝试术语聚合,但是我所能实现的就是以下代码: 向我显示已发

  • 我试图获取缺少字段“topic.description”和匹配项“fundedunder.programme”:“abc”的文档。 映射: 我的查询如下所示:

  • 问题内容: JOIN查询比几个查询快吗?(您运行主查询,然后根据主查询的结果运行许多其他的SELECT) 我问是因为加入它们会使我的应用程序设计复杂化 如果速度更快,谁能大致估算出多少?如果是1.5倍,我不在乎,但是如果是10倍,我想我是。 问题答案: 这太模糊了,无法为您提供与您的具体情况相关的答案。这取决于很多事情。Jeff Atwood(该网站的创始人)实际上撰写了有关此内容的文章。但是,在

  • 问题内容: 我有以下 匹配 查询字符串: 我想它的意思是,但实际上它能执行。 然后我尝试了 术语 查询字符串: 它执行,显示 术语 查询通过数组支持多个OR条件。 我很好奇为什么 匹配 查询不支持通过数组的 OR 条件?并且它不显示任何语法错误。 问题答案: 该查询仅支持要指定的单个字符串值。官方文档中没有明确指定它,但是如果您愿意阅读的源代码,则可以看到,在解析字段时,解析器将跳过标记来分隔数组

  • 问题内容: 从PHP 5.3版开始,已对驱动程序进行了补充。它引入了对多个查询的支持。 但是,如果传递了多个查询,我无法弄清楚如何获得两个结果集。这两个查询都已执行,不可能是第二个查询刚刚被转储。 返回值: 问题答案: 原来,您需要使用。 这将返回第二个查询的结果。 这是一个有点奇怪的实现。如果多查询语句仅将两个结果集返回在一个数组下,那肯定会更容易。但是,优点是此实现允许使用不同的FETCH样式