Broken category pagination

时间:2011-02-03 作者:Eeyore

出于某种原因,下面的代码一直工作到我到达第三页并给出404。不使用任何插件就可以修复它吗?

<?php
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query(\'cat=\'. $id .\'&posts_per_page=4&paged=\'.$paged);
    while ($wp_query->have_posts()) : $wp_query->the_post();
?>

<?php get_the_content() ?>

<?php endwhile; ?>


<?php if (  $wp_query->max_num_pages > 1 ) : ?>
    <?php previous_posts_link( __( \'Previous\', \'themename\' ) ); ?>
    <?php next_posts_link( __( \'Next\', \'themename\' ) ); ?>
<?php endif; ?>

<?php $wp_query = null; $wp_query = $temp;?>

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

尝试创建WP\\u Query的新实例,并最终使用WP\\u reset\\u Query();像这样:

<?php
    $my_query = new WP_Query();
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $my_query->query(\'cat=\'. $id .\'&posts_per_page=4&paged=\'.$paged);
    while ($my_query->have_posts()) : $my_query->the_post();
?>

<?php get_the_content() ?>

<?php endwhile; ?>


<?php if (  $my_query->max_num_pages > 1 ) : ?>
    <?php previous_posts_link( __( \'Previous\', \'themename\' ) ); ?>
    <?php next_posts_link( __( \'Next\', \'themename\' ) ); ?>
<?php endif; ?>

<?php wp_reset_query(); ?>

SO网友:Jo Albright

以下是我使用的一些工作代码:

    <?php $temp_query = $wp_query;
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    query_posts("category_name=".$cat."&showposts=20&paged=".$paged."");

    while (have_posts()) : the_post(); ?>

        the_content();

    endwhile; ?>

    <div class="navigation2">
        <div class="navleft"><?php next_posts_link(\'Older Entries\') ?></div>
        <div class="navright"><?php previous_posts_link(\'Newer Entries\') ?></div>
    </div>

    <?php $wp_query = $temp_query; ?>

结束

相关推荐

WordPress删除wp_List_Categories中最后一项的分隔符

我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。基本上我想要这个:类别1//类别2//类别3//看起来像这样:类别1//类别2//类别3以下是我当前使用的代码:<?php $cat_array = array(); $args = array( \'author\' => get_the_author_meta(\'id\'),&#x