2009-11-18 9 views
3

У меня есть сайт WordPress, где на главной странице я перечисляю содержимое из большего количества категорий.WordPress пользовательский запрос pagination

Мой вопрос: есть ли плагин, где я могу разбивать на страницы результаты из категории? Я имею в виду что-то вроде $this->plugin_paginate('category_id'); или smth?

С наилучшими пожеланиями,

ответ

1

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

Edit 11/20: Я использую это в нескольких местах на одной странице, чтобы показать последнюю запись в категории:

<?php 
$my_query = new WP_Query('category_name=mycategory&showposts=1'); 
while ($my_query->have_posts()) : $my_query->the_post(); 
?> 
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> 
<?php endwhile; ?> 

Эта связь затем переходит на страницу категории, которая Разбивать для этой категории: Category Templates « WordPress Codex

Я не знаю, как разделить разные категории на одной странице. Должно быть возможно. Возможно, спросите у Wordpress forums.

+0

да более одного запрос. и больше категорий :) – Uffo

0

Это похоже на то, что может сделать простой, правильно сформированный запрос query_posts(). Я сомневаюсь, что вам даже придется полагаться на плагин. :)

я буду считать, что вы знакомы с query_posts() функция, так что давайте идти вперед и использовать этот пример в качестве основы:

// let's get the first 10 posts from category ID 3 
query_posts('posts_per_page=10&cat=3'); 
while(have_posts()):the_post(); 
    // do Wordpress magic right here 
endwhile; 

Теперь, чтобы получить 11-й в 20-сообщений из 3-й категории (то есть, в ближайшие 10 сообщений), мы хотим использовать параметр [смещение] на query_posts():

// let's get the next 10 posts from category ID 3 
query_posts('posts_per_page=10&cat=3&offset=10'); 
while(have_posts()):the_post(); 
    // do Wordpress magic right here 
endwhile; 

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

С чем-то подобным, похоже, вам придется немного поработать с Javascript, чтобы выполнить эту работу за вас, а также то, что я проиллюстрировал выше.

0

Я считаю, что вы могли бы сделать что-то вроде этого:

<?php 
     if(isset($_GET['paged'])){ 
      $page = $_GET['paged']-1; 
     }else{ 
      $page = 0; 
     } 
     $postsPerPage = 5; 
     $theOffset = $page*$postsPerPage; 
    ?> 
    <?php query_posts(array('posts_per_page' => $postsPerPage, 'cat' => CATEGORIES HERE, 'offset' => $theOffset)); ?> 
0

Надеется, что это поможет :)

<?php 
    $args = array(
    'post_type' => 'post', 
    'posts_per_page' => 5, 
    'paged' => $page, 
); 

    query_posts($args);?> 
?>