wordpress - WP 查询适用于管理员角色,但不适用于其他角色
问题描述
这仅适用于管理员 - 当与非管理员一起使用时,它基本上返回为此帖子类型添加的最后一个帖子:
$ticket_args = array(
'post_type' => 'event_ticket',
'post_status' => array('publish', 'pending'),
'posts_per_page' => 1,
'meta_query' => array(
array(
'key' => '_token',
'value' => $_GET['token'],
),
),
);
$tickets = get_posts($ticket_args);
这适用于所有角色:
$ticket_args = array(
'post_type' => 'event_ticket',
'post_status' => array('publish', 'pending'),
'posts_per_page' => 1,
'meta_key' => '_token',
'meta_value' => $_GET['token']
);
$tickets = get_posts($ticket_args);
更清晰:
这两个语句的输出不一样。作为管理员用户,结果符合预期 - 返回包含与“token”的查询字符串参数匹配的元数据“_token”的单个“event_ticket”帖子。作为非管理员,结果是返回最后一个“event_type”帖子。
这是否与 meta_query 函数的上限或一般 WP 权限有关,或者我在 meta_query args 中有什么问题?
解决方案
我认为您需要使用以下代码指定用户角色:
$editor_query = new WP_User_Query(
array(
'role' => array( 'editor', 'administrator' ),
'meta_key' => 'featured',
'meta_value' => 'yes',
'number' => 5
)
);
将上述查询中的角色粘贴到您的代码中:
这一行 -> 'role' => array('editor', 'administrator' ),
检查它是否适用于not..在大括号中提及您的角色..
推荐阅读
- javascript - scrollIntoView 不会在 Angular 中触发鼠标滚轮或滚动事件
- android - 无法在 android studio 中生成签名的 apk
- parsing - 在执行时定义数据类型?
- python - 加载保存的模型后,在同一评估数据集上获得不同的准确度
- html - HTML/CSS:如何使某些输入字段在表单的同一行?
- regex - 此特定正则表达式中带有 - (减号)的正则表达式的含义
- reactjs - 使用 react-hook-form 时无法测试 onSubmit
- reactjs - 反应错误的数字运算结果
- go - 为什么从 GO 触发时,我的 GraphQL 查询没有返回正确的结果?
- c++ - 从小写到大写引用控制台应用程序