我的WordPress网站上有一个page
,它使用了模板,并且在该模板中,我使用get_posts
来获取我的CPT的结果。在我的CPT中,只允许一个职位同时拥有publish
的身份,而其他职位则保持在draft
模式。但是,我希望访客用户(即无法访问我网站上的帐户的网站访问者)能够访问该网页并查看处于其草稿状态的帖子。阻止WordPress过滤掉get_posts中的客人的草稿帖子
我使用这些参数传递给取结果
$args = array(
'name' => $slug,
'post_type' => 'catalog',
'post_status' => array('draft', 'publish'),
);
$catalogs = get_posts($args);
上面的代码工作正常登录的用户,但是当我退出它返回空。我敢肯定,一些WordPress过滤器是负责这一点。我无法弄清楚如何让它停止。
附加信息:我可以使用$wpdb
获取想要的结果,但我希望这也可以通过一些自定义过滤器来完成。我做了我的研究,但找不到任何有用的东西,WordPress Codex不包含任何有关这方面的信息。
您放入的代码并不会添加到正在发生的事件中。这绝对不是你放置在那里的代码造成的。是什么导致它可能是您的网站中的代码,我们永远不会知道,因为没有过滤器或挂钩可能导致您的代码段在用户未登录时无法运行。我的建议是,禁用所有插件或操作挂钩主题来确定发生了什么。 – cylua2
我也检查了代码,但没有什么可以做到这一点的。所有使用的插件都是由我编写的,它们都没有真正涉及到如何检索帖子。我确实在网上找到一些人说WordPress可以禁止客人访问草稿文档 –