我能够成功地限制用户只向他们显示评论,但是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' ) : ?>
答案 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 } ?>