See edit at bottom.
我在自定义帖子类型(“success\\u stories”)的页面模板中有一个wp\\U查询循环。循环本身工作正常,但我似乎无法使分页工作正常。我已经尝试了在这些论坛上找到的所有解决方案,每次我尝试导航到/page/child-page/page/2/WordPress时,都会通过301重定向将我返回到/page/child-page/。我当然已经冲洗过permalinks大约100次了。以下是我正在使用的代码:
<?php
if ( get_query_var(\'paged\') ) {
$paged = get_query_var(\'paged\');
} elseif ( get_query_var(\'page\') ) { // \'page\' is used instead of \'paged\' on Static Front Page
$paged = get_query_var(\'page\');
} else {
$paged = 1;
}
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
// Query arguments
$args = array(
\'post_type\' => array( \'success_stories\' ),
\'posts_per_page\' => \'3\',
\'paged\' => $paged,
\'ignore_sticky_posts\' => true,
\'tax_query\' => array(
array(
\'taxonomy\' => \'practice_areas_taxonomy\',
\'field\' => \'ID\',
\'terms\' => array( 17 ),
)
)
);
// Instantiate custom query
$practice_area_query = new WP_Query( $args );
// Pagination fix
$temp_query = $wp_query;
$wp_query = NULL;
$wp_query = $practice_area_query;
// Output custom query loop
if ( $practice_area_query->have_posts() ) :
echo \'<div>\';
while ( $practice_area_query->have_posts() ) :
$practice_area_query->the_post(); ?>
<div class="<?php echo $pa_class_inner; ?>">
<blockquote>“<?php echo get_the_excerpt();?>”</blockquote>
</div>
<?php endwhile;
echo \'</div>\';
endif;
// Pagination
$total_pages = $wp_query->max_num_pages;
if ($total_pages > 1) {
$big = 999999999;
$current_page = max(1, get_query_var(\'paged\'));
echo \'<nav class="pagination clearfix">\';
echo paginate_links(
array(
\'base\' => str_replace($big, \'%#%\', esc_url(get_pagenum_link($big))),
\'current\' => $current_page,
\'total\' => $total_pages,
\'prev_text\' => \'Prev\',
\'next_text\' => \'Next\',
\'mid_size\' => 1,
\'end_size\' => 3
)
);
echo \'</nav>\';
}
wp_reset_postdata();
// Reset main query object
$wp_query = NULL;
$wp_query = $temp_query; ?>
我哪里做错了?这不能从(孩子)身上做到吗页面模板?编辑:添加以下重写规则几乎可以解决此问题:
// Primary Rewrite Rule
add_rewrite_rule( \'practice-areas/family-law/?\', \'index.php?post_type=success_stories\', \'top\' );
// Pagination Rewrite Rule
add_rewrite_rule( \'practice-areas/family-law/page/([0-9]{1,})/?\', \'index.php?post_type=success_stories&paged=$matches[1]\', \'top\' );
唯一的问题是(a)在分页的页面上,我突然在另一个模板(archive.php)中,(b)WordPress似乎默认为常规的wp\\U查询参数。也就是说,它是;“遗忘”;以上查询中的所有参数,以及偏移量,甚至分类查询。