контроль количества постов на странице архива WordPress - PullRequest
0 голосов
/ 08 сентября 2010

Я установил на первой странице моего блога WordPress показ только трех сообщений. В шаблоне archive.php при просмотре сообщений тега я хочу показать 10 результатов.

Как мне это сделать?

Я попробовал этот код php. Но вместо того, чтобы показывать только сообщения с определенным тегом, он запрашивает все последние сообщения.

//in archive.php (before the loop)
query_posts('posts_per_page=10');

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Просто добавьте запрос с параметром тега (как показано здесь: http://codex.wordpress.org/Function_Reference/query_posts#Tag_Parameters):

query_posts('posts_per_page=10&tag=your_desired_tag');

РЕДАКТИРОВАТЬ : если вы используете это в функции, вы также можете просто добавить свой пределк исходному запросу, подобному следующему:

function my_archive_loop($content) {
    global $query_string;
    query_posts($query_string . "&posts_per_page=10"); 
}

Переменная $query_string должна включать все параметры по умолчанию, такие как текущий тег, категория, год или любая другая страница архива, которую вы просматриваете.

0 голосов
/ 20 октября 2014

Вы можете попробовать это:

  function post_per_page_control( $query ) {
     if ( is_admin() || ! $query->is_main_query() )
       return;

    // For archive.You can omit this
     if ( is_archive() ) {
          //control the numbers of post displayed/listed (eg here 10)
          $query->set( 'posts_per_page', 10 );
          return;
     }

     // For your tag
     if ( is_tag() ) {
          //control the numbers of post displayed/listed (eg here 10)
          $query->set( 'posts_per_page', 10 );
          return;
     }
  }
  add_action( 'pre_get_posts', 'post_per_page_control' );

подробнее здесь:

1 http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

2 http://codex.wordpress.org/Function_Reference/query_posts

...