Как победить настройки «Показать страницы блогов.

wordpress.stackexchange https://wordpress.stackexchange.com/questions/8982

  •  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 так как это ключ к тому, что здесь происходит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top