Отображать имя пользователя только для входа в систему? - PullRequest
4 голосов
/ 11 июня 2010

У меня есть блог Wordpress, настроенный для отображения комментариев как «Анонимный пользователь» путем жесткого кодирования его в файле comments.php. Я хотел бы, чтобы он произнес имя пользователя рядом с их комментарием и ТОЛЬКО отобразил это имя им. Другими словами, если они гость, они увидят «Анонимный пользователь», а если они будут зарегистрированным / зарегистрированным РАЗЛИЧНЫМ пользователем, они все равно увидят «Анонимный пользователь», но если это ИХ комментарий, он скажите «Ваш комментарий» или собственное имя пользователя. Любой ключ к фрагменту кода? Вот что у меня есть:

Anonymous User: <div class="post-txt" id="<?php comment_ID() ?>"><?php comment_text() ?></div>

Спасибо!

Ответы [ 3 ]

2 голосов
/ 11 июня 2010

По сути, вам нужно получить идентификатор автора комментария, получить идентификатор пользователя, вошедшего в систему, и сравнить их. Посмотрите на получение текущего зарегистрированного пользователя и получение информации о текущем комментарии из Кодекса.

Я не проверял этот фрагмент, но он должен указывать вам правильное направление:

<?php global $user_id, $user_login; 
    get_currentuserinfo();  // This will populate $user_id with the logged in user's ID or '' if not logged in
    $the_comment = get_comment(comment_ID());  // Get a comment Object...
    $author_id = $the_comment->user_id; // and extract the commenter's ID

    if($user_id !== '' && $author_id == $user_id){
        echo 'Your comment [ ' . $user_login . ' ]:';
    }
    else{
        echo 'Anonymous User:';
    }
?>
2 голосов
/ 11 июня 2010
function my_custom_comment_author_filter($author){
  global $current_user;
  wp_get_current_user();
  if(!is_category(3)){
    return $author;
  }
  if(0 == $current_user->ID || ($current_user->display_name !== $author && $current_user->user_login !== $author)){
    return 'Anonymous User';
  }
  return $author;
}

add_filter('get_comment_author', 'my_custom_comment_author_filter');
1 голос
/ 11 июня 2010

Проверьте, зарегистрирован ли текущий посетитель http://codex.wordpress.org/Function_Reference/is_user_logged_in

<?php if ( is_user_logged_in() ) { 
    ....
} else {
    ....
} ?> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...