WordPress分类模板分页问题

时间:2015-12-16 22:31:04

标签: php wordpress templates pagination taxonomy

在这个问题上花了好几个小时后,我终于决定向社区询问我面临的问题。这个问题本身有点奇怪。

我创建了一个自定义分类模板,当我使用默认的wordpress循环时,我正面临着分页问题。 每个页面中的帖子都是随机发布的

所以,如果我在分类标准的页面1上,它会向我显示2个帖子,如果我转到页面2,则会向我显示4个帖子每页23个帖子..

我已在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;
}

0 个答案:

没有答案