在这个问题上花了好几个小时后,我终于决定向社区询问我面临的问题。这个问题本身有点奇怪。
我创建了一个自定义分类模板,当我使用默认的wordpress循环时,我正面临着分页问题。 每个页面中的帖子都是随机发布的。
所以,如果我在分类标准的页面1
上,它会向我显示2
个帖子,如果我转到页面2
,则会向我显示4
个帖子每页2
和3
个帖子..
我已在posts_per_page
文件上使用pre_get_posts
操作将functions.php
设为6 ..
我在下面给出简要说明..
模板文件
<?php get_header(); ?>
<?php
global $wp_query;
$big = 999999999; // need an unlikely integer
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
?>
<div <?php post_class('main-section page-inner-wrapper'); ?>>
<?php get_template_part('talent_filter', 'talent_filter.php'); ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- POST HTML -->
<?php endwhile; ?>
<!-- PAGINATION BEGIN -->
<nav class="navigation pagination" role="navigation">
<?php
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => $paged,
'prev_text' => __( '<i class="fa fa-angle-left"></i>', 'bridge' ),
'next_text' => __( '<i class="fa fa-angle-right"></i>', 'bridge' ),
'before_page_number' => '<span class="meta-nav">' . __( '', 'bridge' ) . ' </span>',
'total' => $wp_query->max_num_pages
) );
?>
</nav>
<!-- PAGINATION END -->
<?php endif; ?>
</div>
<?php get_footer(); ?>
function.php
function my_post_queries( $query ) {
// do not alter the query on wp-admin pages and only alter it if it's the main query
if (!is_admin() && $query->is_main_query()){
// alter the query for the home and category pages
if( is_tax( 'talent_groups' ) ) {
$query->set('posts_per_page', 6);
$query->set('posts_per_archive_page', 6);
$query->set('orderby', 'date');
}
}
}
add_action( 'pre_get_posts', 'my_post_queries');
// Solves Pagination Pages 404's
add_filter( 'option_posts_per_page', 'tdd_tax_filter_posts_per_page' );
function tdd_tax_filter_posts_per_page( $value ) {
return (is_tax('talent_groups')) ? 1 : $value;
}