wp_pagenavi() с пользовательским wp_query()?
<?php
/*
Template Name: Projects
*/
?>
<?php get_header();?>
<section id="content">
<section id="main">
<?php
$loop = new WP_Query(array('post_type' => 'projects', 'posts_per_page' => 4));
$i=1;
while ( $loop->have_posts() ) : $loop->the_post();
?>
<article class="post<?php if($i%2 == 0) { echo ' right'; }; $i++; ?>" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<section class="entry">
<?php the_excerpt(); ?>
</section>
</article>
<?php
endwhile;
wp_pagenavi();
?>
<section id="map">
<img src="<?php bloginfo('template_url') ?>/images/interactive-map.jpg" alt="Интерактивная карта" title="Интерактивная карта" />
</section>
</section>
<?php get_sidebar(); ?>
</section>
<?php get_footer(); ?>
У меня настроен pagenavi сразу после endwhile. Однако он не работает. Кто-нибудь знает, как это можно исправить?
Мой источник: http://plugins.trac.wordpress.org/browser/wp-pagenavi/trunk/core.php#L3

Действительно, development-версия WP Pagenavi (2.74-alpha) поддерживает это.

paginate_links
- это более базовая функция. Вместо передачи объекта запроса, вы указываете максимальное количество страниц, текущую страницу и несколько других параметров (например, формат URL и т.д.)

@John P Bloch: Только что выпустил: http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html :)

@scribu: проверил с пользовательским типом записи, и пагинация не получает активную страницу, если она > 1, когда включены постоянные ссылки. Возможно, это связано с этим: http://wordpress.stackexchange.com/questions/9537/pretty-paged-permalinks-in-custom-post-type-loop

Вы включили параметр 'paged'? Если да, то вам стоит задать новый вопрос с приложенным примером кода. И, пожалуйста, не вините pagenavi; он просто генерирует ссылки. :)

Да. Нет смысла создавать новый вопрос, так как я больше не использую этот плагин, просто отмечаю, что он не полностью поддерживает пользовательские типы записей. Вам стоит добавить ещё один аргумент в wp_pagenavi(), например 'current', в котором можно передать текущую страницу, например get_permalink()

<?php // Пагинация
if(function_exists('wp_pagenavi')) :
wp_pagenavi( array( 'query' => $blog_posts_query ) );
else : ?>
<div class="navigation">
<div class="alignleft"><?php previous_posts_link() ?></div>
<div class="alignright"><?php next_posts_link() ?></div>
</div>
<?php endif;
// Восстановление оригинальных данных поста
wp_reset_postdata(); ?>
