Wordpress: Показать ссылку «Редактировать профиль» только автору - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть сайт WordPress с пользовательской темой.Я использую пользовательский шаблон страницы автора для отображения общедоступного «профиля» страницы пользователя.Я хочу показать ссылку на страницу редактирования (у меня есть шаблон для этого тоже) ТОЛЬКО зарегистрированному пользователю, который также является этим конкретным автором.

У меня есть следующий код, но он показывает ссылку для редактированияВСЕМ авторизованным пользователям.Я не хочу, чтобы пользователи думали, что они могут редактировать профили других авторов.

<?php global $user_id, $user_login; 
get_currentuserinfo();  
$author_id = $curauth->user_id; 

if($user_id !== '' && $author_id == $user_id){
    echo 'EDIT LINK HERE';
}

?>

1 Ответ

0 голосов
/ 03 сентября 2010

Ты почти у цели.Не беспокойтесь о глобальных переменных, они просто все испортят.То, что вы хотите, это:

<?php
if(get_query_var('author_name')) :
    $curauth = get_user_by('slug', get_query_var('author_name'));
else :
    $curauth = get_userdata(get_query_var('author'));
endif;

get_currentuserinfo();

if( $curauth->ID == $user_ID) {

    // Do your edit link work here ...

}
?>

Сначала загружается текущий автор на основе переменной запроса, используемой для создания страницы профиля автора.Вот как вы получаете $curauth->ID.Затем он загружает всю стандартную информацию для текущего пользователя (см. Кодекс для полного списка переменных, заполненных get_currentuserinfo()).Затем выполняется простое сравнение между этими двумя значениями ... нет необходимости проверять, имеет ли $user_ID значение, поскольку нулевое значение для этой переменной не будет равно $curauth->ID.

FWIWЯ проверил это на WP 3.0.1, и вы должны быть готовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...