查询以获取帖子的数据,如果在类别中?

时间:2014-11-14 作者:NoBugs

你会认为你可以

$query = new WP_Query(array(
    \'p\' => $idofpost,
    \'cat\' => $numbers
));
如果是某个类别(或类别,或-数字以排除类别),则返回帖子。

奇怪的是,它总是回帖子$query->request 看起来它运行的sql根本没有提到类别/分类法。

这是一个bug还是我遗漏了什么?

1 个回复
SO网友:Pieter Goosen

您的查询将无法工作,因为它将忽略您的分类查询。这不是错误,而是预期的行为。

使用时p 作为您的参数,每个其他查询参数都会被忽略/绕过,例如post_type, tax_query 以及任何与分类法相关的查询,如类别和标记参数,因为您通过引用直接查询特定帖子。

我不确定你想在这里实现什么,但你需要看看WP_Query 以及它的所有可用参数,并使用那些与您需要的直接相关的参数。此外,这可能是一个结构性或计划性问题,可能需要你重新思考你正在努力做什么和实现什么

EDIT

从评论中

这有点道理,但实际上有\\u密码、post\\u状态,可能还有其他,在这种情况下会正确过滤是否返回帖子

您必须处理并检查SQL请求。好吧,如果你直接用p, 不管怎样,它都会返回帖子。我仍然不完全理解WP_Query

当前source code 对于WP_Query 阶级妥协3716 lines ,即不包括query.php 定义条件函数的文件

这太让人头疼了。我认为最好的方法是做一些自我测试,测试不同的场景,并对照源代码进行检查。我真的不相信这是一天的工作。如果你真的试着去理解并知道发生了什么,你会发疯的WP_Query 一两天内,也可能一个月内:-)

结束

相关推荐

如何在SQL查询中从另一个表中检索元素?

我从表中获取数据wp_posts 现在我需要从表中获取数据wp_postmeta 与中捕获的ID匹配wp_posts 桌子我需要在表中获取的数据wp_postmeta 是product_img1 , product_img2 , product_img3 如下图所示。这是我的wp_posts:我需要展示ID, post_title, product_img1, product_img2, product_img3. 下面是SQL:$show_info = $pdo(\"SELECT p.*, pm.*