Почему WP_Query('showposts=5') показывает только 1 запись?
Я пытаюсь сделать простой запрос, чтобы получить последние 5 записей в неупорядоченный список, но показывается только 1 результат, хотя у меня есть несколько записей. Я даже попробовал сделать смещение, но показывается следующая запись, и всё равно только 1 результат. Что я делаю не так?
<ul>
<?php $the_query = new WP_Query('showposts=5'); ?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<p><?php the_content_limit(250); ?></p>
</li>
<?php endwhile;?>
</ul>

the_content_limit
не существует в WordPress. Скорее всего, вам нужна функция the_excerpt
.
Вероятно, ваш цикл работает нормально, но вызов неопределённой функции вызывает ошибку, из-за чего кажется, что цикл не работает. Посмотрите на сгенерированный HTML: вы, скорее всего, увидите один открывающий тег <li>
, ссылку и открывающий тег абзаца.
showposts
также устарел. Ознакомьтесь в кодексе: удалён в версии 2.1
Попробуйте так:
<?php
$query = new WP_Query(array(
'posts_per_page' => 5,
));
while ($query->have_posts()): $query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php the_excerpt(); ?></p>
</li>
<?php endwhile;

Стандартный синтаксис для post_per_page выглядит так:
<?php
$query = new WP_Query
(array(
'posts_per_page' => 5, // Количество выводимых записей
)
);
while ($query->have_posts()): $query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php the_excerpt(); ?></p>
</li>
<?php endwhile;

showposts
был заменён на posts_per_page
. Пожалуйста, прочитайте принятый ответ

Да, работает, но он устарел и может быть удалён в будущем, что сломает ваш сайт
