类别分页不起作用

时间:2011-11-28 作者:Vince Pettit

我的分类页面导航似乎根本没有显示,我的编码中缺少了什么?

<?php get_header(); ?>

<div class="inner-page">
  <div class="page-spacer"></div>
  <!-- Content Start -->
  <div id="content-top"></div>
  <div id="category-content-wrapper">
    <div id="category-content" role="main">
      <?php if ( have_posts() ) : ?>
      <header class="page-header">
        <div class="page-title category-title">
          <h1>
            <?php
                        printf( __( \'%s\', \'rsi\' ), \'\' . single_cat_title( \'\', false ) . \'\' );
                    ?>
          </h1>
        </div>
        <?php
                        $category_description = category_description();
                        if ( ! empty( $category_description ) )
                            echo apply_filters( \'category_archive_meta\', \'<div class="category-archive-meta">\' . $category_description . \'</div>\' );
                    ?>
      </header>
            <?php wp_pagenavi() ?>
      <?php /* Start the Loop */ ?>
      <?php
$args = array( \'category\' => 5 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post); ?>
      <div class="post-holder">
        <?php if (has_post_thumbnail( $post->ID ) ): ?>
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'single-post-thumbnail\' ); ?>
        <a href="<?php the_permalink(); ?>">
        <div id="custom-bg" style="background-image: url(\'<?php echo $image[0]; ?>\')"> </div>
        </a>
        <?php endif; ?>
        <div class="blog-title">
          <h2><a href="<?php the_permalink(); ?>">
            <?php the_title(); ?>
            </a></h2>
        </div>

        <div class="blog-excerpt">
          <?php the_excerpt(); ?>
        </div>
                <div class="blog-date"> Posted on:
          <?php the_date(); ?>
        </div>
      </div>
      <?php endforeach; ?>
      <?php else : ?>
      <article id="post-0" class="post no-results not-found">
        <header class="entry-header">
          <h1 class="entry-title">
            <?php _e( \'Nothing Found\', \'rsi\' ); ?>
          </h1>
        </header>
        <!-- .entry-header -->

        <div class="entry-content">
          <p>
            <?php _e( \'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.\', \'rsi\' ); ?>
          </p>
          <?php get_search_form(); ?>
        </div>
        <!-- .entry-content --> 
      </article>
      <!-- #post-0 -->

      <?php endif; ?>
            <?php wp_pagenavi() ?>
    </div>
    <!-- #content -->
    <div id="sidebar">
      <?php if (!function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Right Sidebar\')) : ?>
      <?php endif; ?>
    </div>
    <div class="clear-block"></div>
  </div>
  <div class="clear-block"></div>
</div>
<div class="clear-block"></div>
<div id="content-bottom"></div>
<!-- Content End -->
</div>
<?php get_footer(); ?>

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

你应该仔细看看[http://codex.wordpress.org/Template_Hierarchy模板层次结构]。根据我在代码中的理解,您试图在ID=5的类别中列出帖子。您可以轻松地将其映射到category-slug.phpcategory-id.php 模板文件,因此您无需执行任何额外操作get_posts.

分页的问题是wp_pagenavi 正在寻找您的$wp_query 全局并对原始查询(不进行筛选)进行分页或者,唯一的原因可能是您的WP PageNavi插件未安装或禁用;)

SO网友:ZweiBlumen

您确定您的类别中有足够的帖子来显示页面导航吗?

我刚刚在我的开发网站上试用了你的代码,效果很好。然而,我必须设置此设置以查看插件生成的导航标记,因为我没有任何特定类别的帖子来保证分页:

Always Show Page Navigation

在仪表板的“设置”区域中,您将在PageNavi管理页面的“页面导航选项”下找到此设置。

SO网友:Arvind Pal

我不确定,但你可以使用<?php wp_reset_query(); ?> 在foreach之后。

<?php endforeach; ?>
<?php wp_reset_query(); ?>
愿它对你有用。

结束

相关推荐

URL rewrites and pagination

我必须说,我完全是Wordpress自定义URL重写的nooby。在过去的几天里,我一直在寻找如何确定和编写正确的URL重写模式的清晰解释。我有一个自定义页面模板,它使用传递给它的查询变量,例如。http://example.com/pagename?user=username. 在这里,“pagename”指的是自定义页面模板,“user”指的是自定义查询变量。我需要使用URL来表示它http://example.com/pagename/username.我还需要上面的内容进行分页。所以http://