Для того, чтобы вывести последние посты в WordPress достаточно воспользоваться стандартным виджетом под названием «Свежие записи». Однако сегодня речь пойдет не совсем о нем, а том, как можно этот самый виджет вывести программно в любом шаблоне, любой блоке темы.
Итак, чтобы вывести вышеупомянутый виджет достаточно воспользоваться функцией the_widget() и именем сооветствующего класса — WP_Widget_Recent_Posts, который будет служить одним из входных параметров.
Первый пример, выводим новые записи в количестве пяти штук с указанием дат публикации материалов, блок обернем дивом entry-content:
<?php $html = array( 'before_widget' => '<div class="entry-content">', // - родительский див, начало. 'after_widget' => '</div>', // - родительский див, конец. 'before_title' => '<h1>', // - тег HTML перед заголовком. 'after_title' =>'</h1><br />' // - тег HTML после заголовка. ); $options = array( 'title' => 'Свежие новости', // - заголовок блока. 'number' => 5, // - количество выбранных элементов. 'show_date' => 1 // - показывать дату публикации. ); # Выводим виджет: the_widget('WP_Widget_Recent_Posts', $options, $html); ?>
Второй пример, выводим последние 10 постов, скрывая даты публикаций, HTML разметка пусть будет прежней:
<?php $html = array( 'before_widget' => '<div class="entry-content">', 'after_widget' => '</div>', 'before_title' => '<h1>', 'after_title' =>'</h1><br />' ); $options = array( 'title' => 'Недавно добавлены', 'number' => 10, 'show_date' => 0 ); the_widget('WP_Widget_Recent_Posts', $options, $html); ?>
В обоих продемонстрированных мною случаях программный код можно вставлять в любой шаблон — header, sidebar, footer и т.п.