WordPress постраничная навигация WP_Query

palarmaz
На сайте с 05.04.2010
Offline
125
1787

Прошу помощи. Нужно добавить постраничную навигацию (пагинацию) для выборки постов из категории.

Долго искал, нашел похожий пример с категориями:

Т.е код получает все категории, которые есть на сайте. К примеру, на сайте 890 категорий, $numOfItems = 200; выводит на странице 200 ссылок на категории, и после них появляется постраничная навигация.

 <?php
$args = array(
'taxonomy' => 'category',
'orderby' => 'title',
'order'=>'ASC',
'pad_counts'=>'true',
'hide_empty' => 1,
'show_count'=>1,
'hierarchical' => 0,
'parent' => '0',
);

/* Постраничная навигация */
$categories = get_categories($args);
$numOfItems = 200; //
$page = isset( $_GET['next'] ) ? abs( (int) $_GET['next'] ) : 1;
$to = $page * $numOfItems;
$current = $to - $numOfItems;
$total = sizeof($categories);

unset($category);
echo paginate_links( array(
'base' => add_query_arg( 'next', '%#%' ),
'format' => '',
'prev_text' => __('&laquo;'),
'next_text' => __('&raquo;'),
'total' => ceil($total / $numOfItems),
'current' => $page
));

echo '<ul>';
for ($i=$current; $i<$to; ++$i) {
$category = $categories[$i];
if ($category->name) {
echo '<li><a rel="nofollow" href="' .
get_term_link($category->slug, 'category') . '" title="' .
sprintf( __( "View all posts in %s" ), $category->name ) . '" ' .
'>' . $category->name.'</a></li>';}
}
echo '</ul>';

Серч вырезал код, и изменил его на ***91;'next'***93; Поэтому выкладываю код тут http://goldwebmaster.net/saitostroenie/wordpress/wordpress-vyvesti-vse-kategorii-s-postranichnoj-navigaciej.html

А я же, хочу вывести все посты из категории ID 133 через метод WP_Query. Выставить 'showposts' => '1000' - но чтобы выводилось тоже по 200 постов и с пагинацией.

<?php

$post_cat = '133'; // ID категории из которой берем посты

$dutch_query = new WP_Query( array( 'cat' => $post_cat, 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'showposts' => '60', 'posts_per_page' => '1' ) );
?>

<?php if( $dutch_query->have_posts() ) : ?>
<?php while ( $dutch_query->have_posts() ) : $dutch_query->the_post(); ?>
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php echo get_short_title_1(32); ?></a>
<?php endwhile; ?>
<?php endif; ?>
V
На сайте с 03.12.2007
Offline
94
#1

Для пагинации в WP_Query используются всего два основных параметра:

posts_per_page — количество записей на каждую страницу

paged — номер страницы


$dutch_query = new WP_Query( array( 'cat' => $post_cat, 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'posts_per_page' => '200', 'paged'=>1));

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий