2012-05-07 2 views
1

Я работаю над своим первым сайтом WP и должен показать роль автора рядом со своим сообщением. Что-то вроде «Jimmy | Administrator». Глядя на имеющиеся метаданные автора: http://codex.wordpress.org/Function_Reference/the_author_meta не дает мне доступа к этому. Я уверен, что есть быстрый способ сделать это, и я просто этого не знаю! Благодаря!Получение роли автора в Wordpress

ответ

12

UPDATE: Поместите это в вашем файле functions.php:

function get_author_role() 
{ 
    global $authordata; 

    $author_roles = $authordata->roles; 
    $author_role = array_shift($author_roles); 

    return $author_role; 
} 

Затем называем это в пределах вашей петли Wordpress. Таким образом:

<?php 
if(have_posts()) : while(have_posts()) : the_post(); 
    echo get_the_author().' | '.get_author_role(); 
endwhile;endif; 
?> 

... будет печатать: «Джимми | Администратор '

ПОЛНЫЙ ОТВЕТ: Сам пользовательский объект фактически хранит роли и другую полезную информацию. Если вы хотите больше общей функцию, чтобы получить роль данного пользователя, просто передать идентификатор пользователя, которого вы хотите настроить таргетинг с помощью этой функции:

function get_user_role($id) 
{ 
    $user = new WP_User($id); 
    return array_shift($user->roles); 
} 

И если вы хотите, чтобы захватить автор данный пост, назовем его так:

<?php 
if(have_posts()) : while(have_posts()) : the_post(); 
    $aid = get_the_author_meta('ID'); 
    echo get_the_author().' | '.get_user_role($aid); 
endwhile;endif; 
?> 

ОТВЕТ нА ПОСЛЕДНИЙ КОММЕНТАРИЙ:

Если необходимо получить данные вне цикла Wordpress (который я предполагаю, что вы пытаетесь сделать на архиве и страница автора), вы можете использовать функцию из моего полного ответа:

global $post; 
$aid = $post->post_author; 
echo get_the_author_meta('user_nicename', $aid).' | '.get_user_role($aid); 

Это будет выводить информацию, которую вы хотите, в «пользователь» | Формат роли».

+0

будет что принесите мне роль текущего пользователя? Я ищу роли автора поста ... – panzhuli

+0

Ах, мои извинения. обновим. – maiorano84

+0

TYVM :). Работал как шарм – panzhuli

Смежные вопросы