Это способ, которым я передаю выгружаемую переменную в запрос CPT для навигации, вы можете использовать разные методы для этого, но это единственный, который у меня работает с использованием WP_QUERY. И не нужно никаких плагинов для навигации, только стандартные навигационные ссылки.
Вы должны разместить эту строку здесь перед WP_QUERY
$paged = 1;
if ( get_query_var('paged') ) $paged = get_query_var('paged');
if ( get_query_var('page') ) $paged = get_query_var('page');
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('post_type=portafolio&showposts=7&orderby=post_date&order=DESC&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
//post format
get_template_part("content");?>
<?php endwhile; ?>
//pagination links here
<?php
$wp_query = null;
$wp_query = $temp; // Reset
?>
После того, как вы измените свой файл цикла, добавьте его в свой functions.php, это переменная, которая будет обрабатывать страницу, на которой вы находитесь.
function paginate() {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => true,
'type' => 'plain'
);
if ( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if ( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}
function portafolio_posts_per_page( $query ) {
if ( $query->query_vars['post_type'] == 'portafolio' ) $query->query_vars['posts_per_page'] = 10;
return $query;
}
if ( !is_admin() ) add_filter( 'pre_get_posts', 'portafolio_posts_per_page' );
Вы также можете прочитать этот пост, в котором объясняется метод объединения шаблонов, это устранит проблему разбиения на страницы, с которой мы сталкиваемся, когда речь идет о пользовательских запросах.
http://wp.tutsplus.com/tutorials/custom-post-type-pagination-chaining-method/
person
Carlos E. Guillen
schedule
28.01.2014