循环自定义POST类型存档时是否显示下一个/上一个?

时间:2011-10-24 作者:remi90

我试图在我的页面上显示下一个/上一个导航按钮,该按钮显示我的“事件”自定义帖子类型中的所有页面。问题是按钮甚至没有显示,但我不知道为什么不显示。我已经在我的博客页面帖子中使用了这一功能,但考虑到它的功能设置为“页面”而不是“帖子”,我想知道我是否需要对自定义帖子类型做一些不同的事情。

代码:

    <?php
    /* Queue the first post, that way we know
     * what date we\'re dealing with (if that is the case).
     *
     * We reset this later so we can run the loop
     * properly with a call to rewind_posts().
     */
    if ( have_posts() )
        the_post();
?>

<h1>
    <?php _e( \'Results\', \'twentyten\' ); ?>
</h1>
<div class="resultDetails">
    <p>Displaying all of our Events:</p>
</div>
<ul>
<?php 
    $paged = get_query_var(\'paged\');
    $paged = ($paged) ? $paged : 1;
?>
<?php $loop = new WP_Query( array( \'post_type\' => \'events\', \'posts_per_page\' => -1, \'paged\' => $paged ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<li class="resultItem">
    <?php if (has_post_thumbnail( $post->ID )): ?>
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=120&h=120&zc=1" alt="<?php the_title(); ?>" /></a>
    <?php endif; ?>
    <div id="resultText">
        <h2 class="redSubHeader"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        <?php the_excerpt(); ?>
    </div>
</li>
<?php endwhile;?>
<nav class="navigation">

    <ul>

        <li class="next-posts post-nav"><?php next_posts_link(\'Next\') ?></li>

        <li class="prev-posts post-nav"><?php previous_posts_link(\'Prev\') ?></li>

    </ul>

</nav>
</ul>
任何帮助都将不胜感激!

谢谢

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

next_posts_link()previous_posts_link() 使用全局$wp_query->max_num_pages 确定是否有更多页面。因为您使用的是WP_Query, 这个$wp_query 全局与此新查询不相关。

尝试显式传递$loop->max_num_pages 功能:

next_posts_link( \'Next\' , $loop->max_num_pages );
如果您没有使用原始查询,请调用query_posts() 而不是创建新的WP_Query 例子

EDIT - 此外,正如@kevin提到的,posts_per_page 设置为-1将加载所有帖子,因此您必须将其更改为分页。

结束
循环自定义POST类型存档时是否显示下一个/上一个? - 小码农CODE - 行之有效找到问题解决它

循环自定义POST类型存档时是否显示下一个/上一个?

时间:2011-10-24 作者:remi90

我试图在我的页面上显示下一个/上一个导航按钮,该按钮显示我的“事件”自定义帖子类型中的所有页面。问题是按钮甚至没有显示,但我不知道为什么不显示。我已经在我的博客页面帖子中使用了这一功能,但考虑到它的功能设置为“页面”而不是“帖子”,我想知道我是否需要对自定义帖子类型做一些不同的事情。

代码:

    <?php
    /* Queue the first post, that way we know
     * what date we\'re dealing with (if that is the case).
     *
     * We reset this later so we can run the loop
     * properly with a call to rewind_posts().
     */
    if ( have_posts() )
        the_post();
?>

<h1>
    <?php _e( \'Results\', \'twentyten\' ); ?>
</h1>
<div class="resultDetails">
    <p>Displaying all of our Events:</p>
</div>
<ul>
<?php 
    $paged = get_query_var(\'paged\');
    $paged = ($paged) ? $paged : 1;
?>
<?php $loop = new WP_Query( array( \'post_type\' => \'events\', \'posts_per_page\' => -1, \'paged\' => $paged ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<li class="resultItem">
    <?php if (has_post_thumbnail( $post->ID )): ?>
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=120&h=120&zc=1" alt="<?php the_title(); ?>" /></a>
    <?php endif; ?>
    <div id="resultText">
        <h2 class="redSubHeader"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        <?php the_excerpt(); ?>
    </div>
</li>
<?php endwhile;?>
<nav class="navigation">

    <ul>

        <li class="next-posts post-nav"><?php next_posts_link(\'Next\') ?></li>

        <li class="prev-posts post-nav"><?php previous_posts_link(\'Prev\') ?></li>

    </ul>

</nav>
</ul>
任何帮助都将不胜感激!

谢谢

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

next_posts_link()previous_posts_link() 使用全局$wp_query->max_num_pages 确定是否有更多页面。因为您使用的是WP_Query, 这个$wp_query 全局与此新查询不相关。

尝试显式传递$loop->max_num_pages 功能:

next_posts_link( \'Next\' , $loop->max_num_pages );
如果您没有使用原始查询,请调用query_posts() 而不是创建新的WP_Query 例子

EDIT - 此外,正如@kevin提到的,posts_per_page 设置为-1将加载所有帖子,因此您必须将其更改为分页。

循环自定义POST类型存档时是否显示下一个/上一个? - 小码农CODE - 行之有效找到问题解决它

循环自定义POST类型存档时是否显示下一个/上一个?

时间:2011-10-24 作者:remi90

我试图在我的页面上显示下一个/上一个导航按钮,该按钮显示我的“事件”自定义帖子类型中的所有页面。问题是按钮甚至没有显示,但我不知道为什么不显示。我已经在我的博客页面帖子中使用了这一功能,但考虑到它的功能设置为“页面”而不是“帖子”,我想知道我是否需要对自定义帖子类型做一些不同的事情。

代码:

    <?php
    /* Queue the first post, that way we know
     * what date we\'re dealing with (if that is the case).
     *
     * We reset this later so we can run the loop
     * properly with a call to rewind_posts().
     */
    if ( have_posts() )
        the_post();
?>

<h1>
    <?php _e( \'Results\', \'twentyten\' ); ?>
</h1>
<div class="resultDetails">
    <p>Displaying all of our Events:</p>
</div>
<ul>
<?php 
    $paged = get_query_var(\'paged\');
    $paged = ($paged) ? $paged : 1;
?>
<?php $loop = new WP_Query( array( \'post_type\' => \'events\', \'posts_per_page\' => -1, \'paged\' => $paged ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<li class="resultItem">
    <?php if (has_post_thumbnail( $post->ID )): ?>
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=120&h=120&zc=1" alt="<?php the_title(); ?>" /></a>
    <?php endif; ?>
    <div id="resultText">
        <h2 class="redSubHeader"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        <?php the_excerpt(); ?>
    </div>
</li>
<?php endwhile;?>
<nav class="navigation">

    <ul>

        <li class="next-posts post-nav"><?php next_posts_link(\'Next\') ?></li>

        <li class="prev-posts post-nav"><?php previous_posts_link(\'Prev\') ?></li>

    </ul>

</nav>
</ul>
任何帮助都将不胜感激!

谢谢

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

next_posts_link()previous_posts_link() 使用全局$wp_query->max_num_pages 确定是否有更多页面。因为您使用的是WP_Query, 这个$wp_query 全局与此新查询不相关。

尝试显式传递$loop->max_num_pages 功能:

next_posts_link( \'Next\' , $loop->max_num_pages );
如果您没有使用原始查询,请调用query_posts() 而不是创建新的WP_Query 例子

EDIT - 此外,正如@kevin提到的,posts_per_page 设置为-1将加载所有帖子,因此您必须将其更改为分页。