为什么我的第二个WP自定义后期分页不起作用?

时间:2013-09-13 05:59:42

标签: wordpress pagination custom-post-type

已经提出了类似的问题,但似乎没有一个适用于我的情况。 我在WP站点中内置了两个自定义后期类型。我创建了single-first_one.php来捕获每个第一个post-types。它完美地工作,我添加的分页也有效。

第二个post-type,我创建了single-second_one.php,在这个'单个'页面上,我显示了当前帖子,以及最近的6个帖子。除了我的分页链接(在single-second_one.php中),所有内容都应该显示。代码几乎与第一个“单个”模板的代码相同,所以我不明白为什么它不起作用。有什么帮助吗?

<?php get_header(); ?>
<h1>Events</h1>
<section id=featured_post>

    <?php $paged = (get_query_var('paged') && get_query_var('paged') > 1) ? get_query_var('paged') : 1; ?>

        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

            <h5 class=previous><?php previous_post_link('%link'); ?></h5>
            <h5 class=next><?php next_post_link('%link'); ?></h5>

            <article class="post-<?php the_ID(); ?>">

                <div>
                    <?php if ( has_post_thumbnail()) : ?>
                        <?php the_post_thumbnail(); ?>
                    <?php endif; ?>
                </div>

                <h2><?php the_title(); ?></h2>
                <h3><?php the_time('l F j'); ?></h3>

                <?php the_content(); ?>

            </article>

        <?php endwhile; ?>
        <?php else: ?>
        <?php endif; ?> 
        <?php wp_reset_query(); ?>

</section>  
<h1>Upcoming Events</h1>
<section id=other_posts>

    <?php
        $args = array('post_type' => 'event', 'showposts' => 6, 'order' => 'ASC', 'post_status' => 'future');
        $loop = new WP_Query($args);

        if ( have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();?>

            <article class="post-<?php the_ID(); ?>">

                <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
                <h3><?php the_time('l F j'); ?></h3>
                <?php html5wp_excerpt('events_page_listing'); ?>

            </article>

    <?php  endwhile; else: ?>
    <?php endif; ?>         

</section>

我去了选项 - &gt;永久链接,缓存一切,取出了后半部分,调用了最近的六个帖子,完全取出了single-first_one.php,没有任何作用。第二页上的分页是空的。

修改

我已经尝试在结束之后,在endwhile和else之间移动下一个/之前的调用,等等。没有什么工作。它是如此奇怪,因为在另一个single.php页面上,所有内容都设置为完全相同的方式,并且完美地显示了下一个/ prev帖子链接。

修改

我添加了分页参数,但它仍无效。

1 个答案:

答案 0 :(得分:0)

您在代码中没有任何分页参数。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
  'posts_per_page' => 3,
  'paged' => $paged
);

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

query_posts('posts_per_page=3&paged=' . $paged);

或类似

$paged = (get_query_var('paged') && get_query_var('paged') > 1) ? get_query_var('paged') : 1;