Почему я ограничен десятью постами в пользовательском цикле?


Например, у меня есть ссылка на моем сайте, например /tag/зеленый, и выберите контент из всех сообщений, помеченных зеленым, которые отображаются с помощью файла loop-tag.php что примерно так же просто, как

<?php
if ( have_posts() ) :  while ( have_posts() ) : the_post();  ?>
<!-- Here I grab the image from the post with that tag -->  
<?php endwhile;  ?>

Это работает, однако оно ограничено 10 сообщениями. Почему это ограничивается 10 такими случаями?

 5
Author: zac, 2013-03-04

1 answers

Потому что он должен быть установлен в задней части вашего сайта WordPress. Вы можете проверить и изменить его в поле Blog pages show at most в меню настройки => Чтение страниц. Как показано на скриншоте ниже.

Blog pages show at most

Это изменит настройки для всех страниц, но если вы хотите внести это изменение только для страницы тегов, то в вашем случае вы можете изменить код в loop-tag.php файл выглядит следующим образом:

global $wp;
$s_array = array( 'posts_per_page' => -1 );  // Change to how many posts you want to display 
$new_query = array_merge( $s_array, (array) $wp->query_vars );

// The Query
$the_query = new WP_Query( $new_query );

// The Loop
if ( $the_query->have_posts() ) {

    while ( $the_query->have_posts() ) {
        $the_query->the_post();
         ?>
        <!-- Here I grab the image from the post with that tag --> 
        <?php
    }

    /* Restore original Post Data */
    wp_reset_postdata();
}

Вы также можете использовать крючок действия pre_get_posts, чтобы изменить ограничение на публикацию.

 15
Author: Vinod Dalvi, 2017-08-12 09:15:07