(已解决)获取帖子作者的用户角色

时间:2020-12-15 作者:Abdullah Al Muaz

我们可以使用

$user = wp_get_current_user();
    if ( !in_array( \'administrator\', (array) $user->roles ) )
获取查看器的用户角色。但我想忽视世卫组织的观点。我想知道是谁写的这篇文章。需要这样的东西

$user = wp_get_post_author();
    if ( !in_array( \'administrator\', (array) $user->roles ) )
因此,我可以根据写文章的用户显示结果,而忽略谁查看了文章。

3 个回复
SO网友:Rup

您可以在帖子上找到作者的ID,并使用get\\u userdata()从中获取其用户对象,例如。

$author = get_userdata( get_post()->post_author ) ;
if ( !in_array( \'administrator\', (array) $author->roles ) ) { ... }

SO网友:Abdullah Al Muaz

我尽了很大的努力,也取得了很大的成绩,但最终都无关紧要

$post_id = get_queried_object_id();
$author_ID = get_post_field( \'post_author\', $post_id );
$authorData = get_userdata( $author_ID );
if ( !in_array( \'administrator\', $authorData->roles)){... ...}

SO网友:ZealousWeb

从wp\\u get\\u current\\u user()检索当前用户对象,然后检查\\u数组中的管理员角色。

$user = wp_get_current_user();
if ( in_array( \'administrator\', (array) $user->roles ) ) {
    //The user has the "administrator" role
}
我在这里分享了wp_get_current_user()in_array() 为了更好的理解。

相关推荐

get_posts() SQL Injection

我正在使用自定义搜索页面,通常使用wpdb->;制作自定义查询时准备。但这次我使用get\\u posts创建了下面的查询。但我想知道我是否必须担心它的SQL注入。我应该吗?或者get\\u posts()是否内置了这种安全机制?如果没有,如何清理传入变量?$SEARCH_QUERY = @$_GET[\'s2\']; $args2 = array( \'orderby\' => \'date\', \'order\'