Как добавить блок с информацией об авторе поста в WordPress
Блок с информацией об авторе – это небольшой раздел, где вы можете отображать краткую информацию об авторе со ссылками на его сайт и профили в социальных сетях. Вам нужно добавить такой блок в конце каждой публикации в WordPress? В данной статье мы покажем, как на практике добавить блок с биографией автора в статьи сайта на движке WordPress.
Зачем нужен информационный блок об авторе в WordPress
Наглядное представление о человеке, который создал публикацию, может помочь повысить доверие и усилить авторитет вашего сайта среди его посетителей. Плюс к этому, размещение информации о себе побуждает автора активнее взаимодействовать с читателями.
Для сайтов с одним автором вы можете просто добавить ссылку на страницу Обо мне. Но для сайтов с несколькими авторами вам нужно будет добавить информационный блок об авторе под каждым постом. Если вы разрешаете гостевой блоггинг на своем сайте, информационный блок автора поможет вам увеличить авторитетность вашего ресурса.
А теперь перейдем к практическому решению данной задачи.
Добавление блока Об авторе в конец каждого поста в WordPress
Чтобы решить данную задачу мы воспользуемся небольшим фрагментом кода. Сначала вам нужно добавить этот код в файл functions.php
вашей активной темы:
function sebweo_author_info_box( $content ) { global $post; // Определяем, что это одиночный пост и у него есть автор if ( is_single() && isset( $post->post_author ) ) { // Получаем отображаемое имя автора $display_name = get_the_author_meta( 'display_name', $post->post_author ); // Если отображаемое имя недоступно, используем никнейм как отображаемое имя if ( empty( $display_name ) ) $display_name = get_the_author_meta( 'nickname', $post->post_author ); // Получаем биографию автора или краткое описание о нем $user_description = get_the_author_meta( 'user_description', $post->post_author ); // Получаем ссылку на сайт автора $user_website = get_the_author_meta('url', $post->post_author); // Получаем ссылку на страницу архива записей данного автора $user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author)); if ( ! empty( $display_name ) ) $author_details = '<p class="author_name">Про ' . $display_name . '</p>'; if ( ! empty( $user_description ) ) // Аватар автора и его биография $author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( $user_description ). '</p>'; $author_details .= '<p class="author_links"><a href="'. $user_posts .'">Посмотреть все посты автора ' . $display_name . '</a>'; // Проверяем, указал ли автор веб-сайт в своем профиле if ( ! empty( $user_website ) ) { // Отображаем ссылку на сайт автора $author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow">Сайт автора</a></p>'; } else { // если у автора нет сайта, просто закрываем абзац $author_details .= '</p>'; } // Передаем всю эту информацию в контент публикации $content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>'; } return $content; } // Добавляем нашу функцию в фильтр контента публикации add_action( 'the_content', 'sebweo_author_info_box' ); // Разрешаем HTML-код в секции биографии автора remove_filter('pre_user_description', 'wp_filter_kses');
Этот код просто извлекает всю необходимую информацию об авторе и отображает его в конце контента поста в WordPress. Теперь вам нужно придать стилевое оформление блоку с информацией об авторе с помощью CSS-стилей, чтобы он выглядел красиво и соответствовал вашей теме.
Вы можете использовать этот небольшой пример CSS в своей таблице стилей темы (файл styles.css
в корне папки темы). Измените данные стили по своему усмотрению, если нужно.
.author_bio_section { background: none repeat scroll 0 0 #f5f5f5; padding: 15px; border: 1px solid #ccc; } .author_name { font-size: 16px; font-weight: bold; } .author_details img { border: 1px solid #d8d8d8; border-radius: 50%; float: left; margin: 0 10px 10px 0; }
Мы надеемся, что сегодняшняя статья помогла при практическом решении задачи по добавлению блока с информацией об авторе в конец каждого поста в WordPress. Прокомментируйте статью, если вам есть что добавить, в форме комментирования ниже.
Misha
На моём сайте блок автора поддерживается темой. Проблема в слудующем: На сайте 1 администратор и 2 автора — итого 3 заполненных аватарками и информацией профиля. Так вот в некоторые статьи в блок автора вордпрессом подставляется правильная аватарка и информация об авторе, а в некоторые — аватарка и информация об авторе из профиля администратора. Причем и в том и в другом случае имя автора — правильное. Не могу найти причину, буду благодарен за помощь.
Анатолий
А не залезая в код как-то можно? А то я по рекомендации одного вашего коллеги уже полез и грохунл сингл.пхп. НЕ очень во всем этом разбираюсь. При этом блок автора у меня стоял раньше, потом куда-то делся. Возможно есть какая-то галочка в инстументах ВОРПРЕСС ( скорее всего но я её найти не могу) . Или плагин???
Macweb
Здравствуйте спасибо за статью, скажите пожалуйста а как автора вывести перед статьей?
ZAnatoly
Для этого вы можете, например, заменить код в функции: переменную
$content
поместить после вывода данных автора