2

我正在一个 wordpress 网站上工作,该网站有一个名为的自定义帖子类型,比如说“plops”。我只想在网站中使用这种自定义帖子类型。因此,在 index.php 中,我使用 WP_Query 遍历那些,这里是代码:

<?php 
$args = array( 'post_type' => 'plops', 'posts_per_page' => 30, 'orderby' => 'desc');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$meta = get_post_meta($post->ID);
?> 
// my template for the post...

<?php endwhile; ?>

问题是我想实现一个无限滚动到这个页面,为此我需要有分页链接。我试图用这个next_posts_link()功能实现那些,但不能让它工作!它只是不会显示任何链接,我尝试了很多东西,似乎没有任何东西可以让它工作......

如果我去 mysite.com/worpress/page/2,我的帖子会显示,但我在 firebug 中得到 404 ......很奇怪......

有任何想法吗 ?非常感谢帮助!非常感谢提前!

4

2 回答 2

2

下面的修复可能会对您有所帮助 - 这对我有用。它结合了 Chris Coyier 的解决方案和评论中的一些帮助。 CSS技巧文章

//Fix homepage pagination
if ( get_query_var('paged') ) {
    $paged = get_query_var('paged');
} else if ( get_query_var('page') ) {
    $paged = get_query_var('page');
} else {
    $paged = 1;
}

$args = array('post_type' => 'custom_post_type', 'paged' => $paged );

$temp = $wp_query; 
$wp_query = null; 
$wp_query = new WP_Query(); 
$wp_query->query( $args ); 

while($wp_query->have_posts()) : $wp_query->the_post(); 
?>

  <!-- LOOP: Usual Post Template Stuff Here-->

<?php endwhile; ?>

<nav>
    <?php previous_posts_link('&laquo; Newer') ?>
    <?php next_posts_link('Older &raquo;') ?>
</nav>

<?php 
  $wp_query = null; 
  $wp_query = $temp;  // Reset
?>
于 2013-06-05T02:10:58.050 回答
1

自从发布此问题以来已经有很长时间了,但是对于正在寻找一种方法在他/她自己的代码中实现这一点的任何人:

$args = array( 'post_type' => 'plops', 'posts_per_page' => 30, 'order' => 'desc');
$loop = new WP_Query( $args );

while ( $loop->have_posts() ) {
    $loop->the_post();
    $meta = get_post_meta($post->ID);
    // my template for the post...
}

previous_posts_link('&laquo; Newer');
next_posts_link('Older &raquo;', $loop->max_num_pages);

wp_reset_postdata();

注意:您只需将最大页数传递给next_posts_link函数。

于 2014-10-09T17:23:11.090 回答