2016-08-05 75 views
0

我正在创建自定义主题,还有自定义文章类型。 但是,自定义帖子类型的分页不起作用。我尝试了Stack Overflow的所有可能的解决方案,但都是徒劳的。自定义文章类型分页不起作用

下面的代码:

<?php global $wp_query;     
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
     $args = array( 
      'posts_per_page' => 3, 
      'post_type' => 'services', 
      'orderby' => 'date', 
      'order' => 'DESC', 
      'nopaging' => false, 
      'paged'=>$paged 
     ); 
    $the_query = new WP_Query($args); ?> 


<div class="service-content clearfix"> 
    <ul class="clearfix"> 
    <?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> 
     <?php $word_count = strlen(wp_strip_all_tags($post->post_content)); 
      $id = get_the_ID();?>     
     <li class="col-sm-4 wow fadeInDown animated" data-wow-delay="300ms" data-wow-duration="500ms"> 
      <figure class="image"> 
       <?php the_post_thumbnail('medium'); ?> 
      </figure> 
      <?php if($word_count<269){ ?> 
       <h3><?php echo $post->post_title; ?></h3> 
       <p><?php echo $post->post_content; ?></p> 
      <?php } else{ ?> 
      <h3><?php echo $post->post_title; ?></h3> 
       <?php echo $post->post_content; ?> 
       <?php } ?>             
     </li> 
     <?php endwhile; 
      next_posts_link(); 
      previous_posts_link();?> 
     <?php wp_reset_query(); ?> 

<?php endif; ?> 
    </ul> 
</div> 

这里,posts_per_page是工作,但Pagination不工作,任何帮助吗?

回答

1

请使用波纹管码作为您的需要..

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$next = $paged+1; 
$prev= $paged-1; 
<a href="<?php echo '/page/'.$next; ?>" >NEXT</a> 
<a href="<?php echo '/page/'.$prev; ?>" >PREV</a> 
+0

嗯,它只是显示下一个和上一个链接。它什么都不做:/ –

1

只需使用paginate_links功能

显示分页根据您的查询和寻呼

$paginate_args = array(
    'base'    => '%_%', 
    'format'    => '?paged=%#%', 
    'total'    => $the_query ->max_num_pages, 
    'current'   => $paged, 
    'prev_text'   => __('«'), 
    'next_text'   => __('»'), 
); 

echo paginate_links($paginate_args); 

确保baseformat是正确的。基于你的永久链接结构

+0

显示为“http:// localhost/mysite /?paged = 2”的分页链接,当点击下一个时出现错误。是因为'base'还是'format'? –

+0

尝试改变格式为''%#%'''''''/%#%''' – silver

+0

你有这个循环的页面的网址是什么? 假设第二页是什么?你可以通过直接url访问它吗? – silver

1

WordPress的分页问题之一是,每页的帖子值被忽略,博客页面最多显示设置在Wordpress设置的阅读页面被视为实际值。因此,您正尝试在每页显示3个并在首页上显示。但是,当你转到第二页时,Wordpress会加载一个不同的偏移量,所以你的代码将无法工作。

这个问题已经在Wordpress Stack Exchange上得到了非常好的解释,所以我不会重复那个用户的答案。你可以在这里阅读更多:

https://wordpress.stackexchange.com/questions/30757/change-posts-per-page-count

这应该理清这个问题适合你。

+0

嗯,它也适用于自定义帖子类型吗?那么,我将每篇阅读的博客文章更改为3,仍然没有改变。 –

+0

使用next_posts_link和previous_posts_link为您显示分页链接吗?如果是这样,当你点击下一个/上一个链接时会发生什么? –

+0

是分页链接现在显示为'http:// localhost/mysite/page/2 /',但是如果我点击o下一个链接,它说没有找到页面 –