分页不适用于自定义页面索引

时间:2013-09-24 23:13:18

标签: php wordpress pagination

我创建了一个自定义索引页面,仅显示特定类别的帖子。但是,分页似乎不适用于自定义索引页面。单击分页时,它无法找到除第1页以外的任何页面。它只会重定向到我的404页面。

这是我的自定义索引页

<?php
/*
Template Name: Funday
*/
get_header(); ?>


<div id="post" class="col span_8 clr">

<img src="<?php bloginfo('template_url'); ?>/images/articlebar.png" alt="article bar" id="logo" style="margin-bottom: 10px" />

<?php query_posts ($query_string . '&cat=funday'); ?>
<?php
if ( have_posts( )) :
    while ( have_posts() ) : the_post();

        get_template_part( 'content', get_post_format() );  
    endwhile;   
endif;
echo '<div class="clear"></div>';
wpex_pagination(); ?>
</div><!-- .span_8 -->

<?php
get_sidebar(article);
get_footer();

这是分页功能。

<?php

/**
 * Custom pagination function
 */

if( ! function_exists('wpex_pagination') ) {
    function wpex_pagination() {
        global $wp_query;
        $total = $wp_query->max_num_pages;
        $big = 999999999; // need an unlikely integer
        if( $total > 1 )  {
             if( !$current_page = get_query_var('paged') )
                 $current_page = 1;
             if( get_option('permalink_structure') ) {
                 $format = 'page/%#%/';
             } else {
                 $format = '&paged=%#%';
             }
            echo paginate_links(array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big )  ) ),
            'format' => $format,
            'current' => max( 1, get_query_var('paged') ),
            'total' => $total,
            'mid_size' => 3,
            'end_size'     => 1,
            'type' => 'list',
            'prev_text' => '&laquo;',
            'next_text' => '&raquo;',
         ));
 }
 }
}



/**
 * Custom page entry pagination function
 *
 */

function wpex_pagejump($pages = '', $range = 4) {
     $showitems = ($range * 2)+1; 
     global $paged;
     if(empty($paged)) $paged = 1;

     if($pages == '') {
         global $wp_query;
         $pages = $wp_query->max_num_pages;
         if(!$pages) {
             $pages = 1;
         }
     }  

     if(1 != $pages) {
        echo '<div class="post-navigation clearfix"><div class="alignleft">';
        previous_posts_link( '&larr; ' . __('Newer Posts', 'wpex' ) );
        echo '</div><div class="alignright">';
        next_posts_link( __('Older Posts', 'wpex' ) .' &rarr;' );
        echo '</div></div>';
     }
}

2 个答案:

答案 0 :(得分:0)

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts ($query_string . '&cat=funday'.'&paged='.$paged);

试试这个

答案 1 :(得分:0)

之前我遇到过同样的问题,只是使用此代码修复了

您需要使用变量自定义代码

$paged = (get_query_var('page')) ? get_query_var('page') : 1;
$args=array('post_type'=>'CUSTOM_POST_TYPE','posts_per_page'=>2,'paged'=>$paged);
query_posts($args);

分页使用此代码

if ( ! function_exists( 'my_pagination' ) ) :
    function my_pagination() {
        global $wp_query;

        $big = 999999999; // need an unlikely integer

        echo paginate_links( array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
            'format' => '?paged=%#%',
            'current' => max( 1, get_query_var('paged') ),
            'total' => $wp_query->max_num_pages
        ) );
    }
endif;

更多信息请点击此处

wordpress Static Page pagination