获取管理员ID以查看可见的评论,以便管理员也可以通过WordPress

时间:2018-09-21 00:10:18

标签: php wordpress

我能够成功地限制用户只向他们显示评论,但是get_current_user_id()仅向他们显示用户评论,但是我希望管理员查看他们的评论并在前面回复他们。如何获得管理员身份以在这种情况下使用和申请

<?php

/**
 * Used as a callback by wp_list_comments() for displaying the comments.
 */
function _s_comment( $comment, $args, $depth ) {
    $GLOBALS['comment'] = $comment;

    $current_user_id = get_current_user_id();

    if ( 'pingback' == $comment->comment_type || 'trackback' == $comment->comment_type ) : ?>

    <li id="comment-<?php comment_ID(); ?>" <?php comment_class(); ?>>
            <div class="comment-body">
            </div>

    <?php elseif ( $current_user_id == $comment->user_id ) : ?>

    <li id="comment-<?php comment_ID(); ?>"

我修改了我的代码。现在,用户可以看到他们的评论,而管理员可以看到所有用户的评论。但用户仍然看不到admin的评论。他们只看到他们自己的..如何实现此目标。.我是初学者,但仍在努力解决自己的问题,方法是对我的职位投反对票。

$current_user = wp_get_current_user(); 

<?php elseif ( $current_user_id == $comment->user_id || ($current_user->roles[0] == 'administrator' ) : ?> 

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤检查我的用户是管理员,编辑者还是作者:

$user = wp_get_current_user();
$allowed_roles = array('editor', 'administrator', 'author');
<?php if( array_intersect($allowed_roles, $user->roles ) ) {  ?> 
       // admins or editors can do something
<?php } ?>

其他选项

<?php if( current_user_can('editor') || current_user_can('administrator') ) {  ?> 
    // admins or editors can do something
<?php } ?>