Как вывести последние записи на главной странице с пользовательским HTML
Мне нужно вывести x
(пока не определил точное число) последних записей (не более 10) на главной странице. Для каждой записи я хочу отобразить заголовок и отрывок контента. Я могу написать SQL-запрос самостоятельно, но интересуюсь, какая функция WordPress может это сделать. Ближайшее, что я нашел — <?php wp_get_archives('type=postbypost&limit=10&format=html'); ?>
. Также мне нужно кастомное форматирование HTML. Пример желаемого вывода:
<div id="posts">
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
</div>

<div id="posts">
<?php
// определяем аргументы запроса
$args = array(
'posts_per_page' => 8, // здесь ваше количество постов 'x'
'nopaging' = true
// возможно, дополнительные аргументы
);
// создаем новый запрос
$tyler_query = new WP_Query( $args );
// выводим найденные записи
while ( $tyler_query->have_posts() ) : $tyler_query->the_post();
echo '<section class="post">'.
'<h2><a href="'.
get_permalink().
'">'.
get_the_title().
'</a></h2><p>'.
get_the_excerpt().
'</p></section>';
endwhile;
// сбрасываем данные поста
wp_reset_postdata();
?>
</div>
По умолчанию длина цитаты (excerpt) составляет 55 слов. Для изменения длины добавьте следующий код в файл functions.php вашей темы:
function tyler_excerpt_length( $length ) {
return 70; // измените количество слов на нужное
}
add_filter( 'excerpt_length', 'tyler_excerpt_length' );
Если вас не устраивает стандартная ссылка "Continue reading" в конце цитаты, добавьте этот код в functions.php:
function tyler_excerpt_more( $more ) {
return 'Читать полностью >>'; // измените текст на нужный
}
add_filter( 'excerpt_more', 'tyler_excerpt_more' );
Если у вас уже есть ссылка на запись в заголовке и вы хотите убрать ссылку "подробнее" из цитаты, верните пустую строку в функции: return '';
.
Дополнительные материалы:

Вау, этот ответ превзошел все мои ожидания. Хотел бы я проголосовать за него много раз. Огромное спасибо.

http://codex.wordpress.org/Template_Tags/the_excerpt Вы имели в виду 55 слов?
