2014-02-06 2 views
1

Я делаю шаблон для архивов на веб-сайте WordPress, но мой шаблон не будет работать для имени автора в архиве автора.Получение имени автора на странице архивного архива внутри WordPress

У меня есть это:

<?php if (is_category('')) { ?> 
<?php single_cat_title(); ?> 

<?php } elseif (is_author('')) { ?> 
<?php get_userdata(get_query_var('author'));?> 

<?php } elseif (is_day('')) { ?> 
<?php echo get_the_time('F j, Y'); ?> 

<?php } elseif (is_month('')) { ?> 
<?php echo get_the_time('F Y'); ?> 

<?php } elseif (is_year('')) { ?> 
<?php echo get_the_time('Y'); ?> 

<?php } elseif (is_tag('')) { ?> 
<?php echo single_tag_title(''); ?> 
<?php } ?> 

Эта часть не будет работать:

<?php } elseif (is_author('')) { ?> 
<?php get_userdata(get_query_var('author'));?> 

ответ

0

Функция вы используете в is_author возвращает объект пользователя. Он ничего не выводит.

Правильное использование будет:

<?php 
// Get current author. 
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); 
?> 

Author: <?php echo $curauth->nickname; ?> 

Также пустая строка не является необходимым с is_category и т.д.

0

WordPress поддерживает шаблон архива для этого. Вам просто нужно добавить author.php файл в папку темы: http://codex.wordpress.org/Author_Templates

И чем вы можете использовать все функции автора, как:

  • get_the_author() для имени автора
  • get_the_author_meta('description') для описания
  • get_avatar(get_the_author_meta('ID'), 40) для аватара
  • ...

Есть также архивы для категорий (http://codex.wordpress.org/Category_Templates) и теги (http://codex.wordpress.org/Tag_Templates) кстати.

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