自定义帖子类型存档,更多页面不起作用

时间:2013-02-12 21:09:09

标签: php wordpress

我有一个网站,下周将发布很多视频。视频以自定义帖子类型发布,只有'到','从'和视频ID。我想在一个archieve页面上加载很多视频,但每页不超过x。所以x在第1页上发布,第2页上是x,依此类推。不幸的是,页面编号没有显示,'p'容器只是保持空白。这是我的代码:

      $args = array( 'post_type' => 'video'/*, 'posts_per_page' => 3 */);
        $loop = new WP_Query( $args );
        if (have_posts()) : 
    while ( $loop->have_posts()) : $loop->the_post(); 


                <?php endwhile; ?>
                <p><?php posts_nav_link('&#8734;','&laquo;&laquo; View newer posts','View older posts &raquo;&raquo;'); ?></p>
                <?php endif; ?>

我在while之间清空了部分,因为在那部分我只调用了像the_permalink和the_content这样的基本函数。

1 个答案:

答案 0 :(得分:0)

事实证明,将post_nav_link与WP_Query结合使用并不能按预期工作,因为posts_nav_link依赖于全局$ wp_query对象,并且无法识别自定义WP_Query实例。

This Answer应该为您提供所需的详细信息,以便让一切工作正常。

<?php
global $wp_query;
$temp_wp_query = $wp_query;
$wp_query = null;

$paged = get_query_var('paged');
$args = array(
    'post_type' => 'video',
    'paged' => $paged ? $paged : 1
    /*, 'posts_per_page' => 3 */
);
$loop = new WP_Query( $args );
$wp_query = $loop;
if ($loop->have_posts()) : 
while ( $loop->have_posts()) : $loop->the_post(); 


<?php endwhile; ?>
<p><?php posts_nav_link('&#8734;','&laquo;&laquo; View newer posts','View older posts &raquo;&raquo;'); ?></p>
<?php
endif;
$wp_query = $temp_wp_query;
?>