wordpress分页在localhost服务器中不起作用

时间:2013-01-01 06:12:17

标签: wordpress

我在本地主机模板中使用wordpress下面的代码进行分页,但不知道为什么它不起作用。它显示所有页面编号很好,但任何页码我点击它只显示第一页。

global $wp_query;  
$total_pages = $wp_query->max_num_pages;  
if ($total_pages > 1){  
$current_page = max(1, get_query_var('paged'));  
echo paginate_links(array(  
  'base' => get_pagenum_link(1) . '%_%',  
  'format' => '/page/%#%',  
  'current' => $current_page,  
  'total' => $total_pages,  
));  
}

我的永久链接设置是:

  

本地主机/我的-博客/采样后/

和查询帖子:

  

$ args = array('post_type'=>'post','posts_per_page'=> 2);

任何人都请告诉我下一步要做什么分页。

3 个答案:

答案 0 :(得分:1)

  <global $wp_query;
$total = $wp_query->max_num_pages;
// only bother with the rest if we have more than 1 page!
if ( $total > 1 )  {
     // get the current page
     if ( !$current_page = get_query_var('paged') )
          $current_page = 1;
     // structure of "format" depends on whether we're using pretty permalinks
     $format = empty( get_option('permalink_structure') ) ? '&page=%#%' : 'page/%#%/';
     echo paginate_links(array(
          'base' => get_pagenum_link(1) . '%_%',
          'format' => $format,
          'current' => $current_page,
          'total' => $total,
          'mid_size' => 4,
          'type' => 'list'
     ));
}

请根据要求设置参数,并参考此链接My helps you

如果您遇到问题,请告诉我

谢谢和问候

答案 1 :(得分:1)

这适用于WP_Query。你可以尝试一下:

global $wp_query;
$big = 999999999; // Need an unlikely integer
echo paginate_links( array( 'base'    => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
                            'format'  => '?paged=%#%',
                            'current' => max( 1, get_query_var( 'paged' ) ),
                            'total'   => $wp_query->max_num_pages,
                            'end_size'=> 1,
                            'mid_size'=> 10 ) );

Settings -> ReadingsBlog pages show at most设置为您希望在每个页面中显示的帖子数量,并在Settings -> Discussion中设置分页行为

答案 2 :(得分:0)

我通过使用简单的PHP读取URL参数来解决相同的问题,而不是使用get_query_var('paged'),只需使用以下方法即可:

$_GET['paged']