Как победить настройки «Показать страницы блогов.
-
16-10-2019 - |
Вопрос
Я использую этот скрипт на моем archive.php, чтобы перечислить список ссылок всех сообщений, содержащихся в текущей категории. Тем не менее, он ограничивает количество результатов по сравнению с номером, назначенным «Настройки> чтения> страницы блога _ Сообщения ».
Другими словами, в этой категории может быть 10 сообщений, но это единственное отображение до номера, назначенного в этом настройке.
Как я могу изменить свой скрипт, чтобы игнорировать эту настройку?
<?php if(is_category()) while (have_posts()) : the_post(); ?>
<li id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
<?php echo get_link_excerpt(); ?>
</li>
<?php endwhile; } ?>
Решение
Вместо использования петли по умолчанию, возможно, попробуйте строительство твой собственный запрос.
По сути, это будет выглядеть примерно так:
$your_posts = get_posts('cat=123&posts_per_page=123');
foreach ($your_post as $post) {
do_something-with($post);
}
Вы можете отобразить все посты, используя Param 'posts_per_page'=>-1
или же nopaging=true
.
(Не уверен, почему кто -то проголосовал за это? Имхо сказал, что человек должен прокомментировать, как следует улучшить вопрос, если она или он это сделает.)
Другие советы
Чтобы изменить posts_per_page
Установка на контекстуальной основе, лучший подход - это фильтровать запрос с помощью обратного вызова, чтобы pre_get_posts
. Анкет Например, чтобы установить posts_per_page
к 10 Для конкретной категории (скажем, идентификатор категории 7):
function wpse8982_filter_pre_get_posts( $query ) {
if ( $query->is_main_query() && is_category( 7 ) ) {
$query->set( 'posts_per_page', '10' );
}
}
add_action( 'pre_get_posts', 'wpse8982_filter_pre_get_posts' );
Обратите внимание, что вы можете пройти любой действительный настройка для posts_per_page
.
Если вы хотите сделать что -то иное, чем разрешение автоматических значений по умолчанию, вам нужно взять под контроль свой цикл. Прочитать документы на Петля и обратите внимание на раздел с надписью несколько петель. Он показывает альтернативные способы настройки запроса и отображения вещей. Вы также должны взглянуть на Wp_query так как это ключ к тому, что здесь происходит.