【问题标题】:get_posts returns posts by current user onlyget_posts 仅返回当前用户的帖子
【发布时间】:2013-10-16 18:01:53
【问题描述】:

我有一个包含许多用户角色的 wordpress 博客。当以adminget_posts 登录时,似乎返回所有posts,但是当以retailer(我创建的角色)登录时,我只得到登录用户创建的帖子

$argArray = array('post_type' => $type, 'post_status' => 'publish', 'orderby' => 'title','numberposts' => -1 );
 $posts = get_posts($argArray);

此代码在以管理员身份登录时会返回站点中的所有帖子,但在以零售商身份登录时仅返回用户创作的帖子。

顺便说一句,$typepost_type

在文件或任何地方都没有提到这一点。是我做错了什么还是应该是这样?

提前致谢!!

更新

正如我正在查看的那样,似乎 worpdress 查询确实在 wordpress 查询中添加了作者参数。我做了 new WP_Query() 并检查了。

这是我要删除的部分wp_posts.post_author = 347 这在管理员的查询中不存在。我在 wordpree 查询中看到了remove_query_arg,但不确定何时以及如何使用它,以及它是否可以用来在查询中删除这个参数。

救命!!

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    尝试确保您为您的角色retailer分配了适当的roles and capabilites

    get_posts 使用 WP_Query,其中验证了这些限制。

    最后,看看get_pages,我查了一下,如果我没记错的话,在查询中没有这样的验证。

    【讨论】:

    • 谢谢或回答。我尝试在 get_posts 中使用 perm 参数,但它没有用。我试过 ignore_sticky_posts 也没有用。我想我将不得不直接查询数据库..
    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    相关资源
    最近更新 更多