Если у вас в блоге пишут несколько авторов, то есть резон выводить в конце публикации или в сайдбаре ссылки на предыдущие публикации автора, написавшего текущий пост. Такой подход позволяет не отпускать читателя, заинтересовывает его как можно дольше оставаться на сайте.
Можно создать функцию, которая с помощью шорткода будет выводить список других публикаций автора. Такой шорткод можно вставлять прямо в пост.
Откройте файл functions.php и вставьте в него такой код:
function latest_posts_by_author($array) { extract(shortcode_atts(array('author' => 'admin', 'show' => 5), $array)); global $wpdb; $table = $wpdb->prefix . 'users'; $result = $wpdb->get_results('SELECT ID FROM '.$table.' WHERE user_login = "'.$author.'"'); $id = $result[0]->ID; $table = $wpdb->prefix . 'posts'; $result = $wpdb->get_results('SELECT * FROM '.$table.' WHERE post_author = '.$id.' AND post_status = "publish" AND post_type = "post" ORDER BY post_date DESC'); $i = 0; $html = '<ul>'; foreach ($result as $numpost) { $html .= '<li><a>guid.'">'.$numpost->post_title.'</a></li>'; $i++; if($i == $show){ break; } } $html .= '</ul>'; return $html; } add_shortcode('latestbyauthor', 'latest_posts_by_author');
Теперь остается только в пост в режиме HTML вставить шорткод:
[latestbyauthor author="username" show="5"]
username – это имя автора, а 5 – количество выводимых постов. А хотите выводить не просто названия постов, а еще и их краткое содержимое? Тогда используйте такой шорткод:
[latestbyauthor author="username" show="5" excerpt="true"]
Шорткоды позволяют выводить список постов только в записях. Чтобы можно было выводить этот список в любом другом месте, можно использовать такую конструкцию:
Пользуйтесь!