分页-工作在本地,但不是现场开发!

时间:2013-04-09 作者:Danny

任何人都可以解释一下,为什么以下打印页码的方法在我的本地dev服务器上有效,而在我的live服务器上无效?

两台服务器都运行相同版本的PHP。

我的循环

<?php
global $paged;
$args = array(
    \'orderby\' => \'post_date\',
    \'posts_per_page\' => 5,
    \'paged\' => $paged
);
$query = new WP_Query($args);
if($query->have_posts()) : while ($query->have_posts()) : $query->the_post();
//do stuff
endwhile; ?>
我的分页

<?php echo \'
<div id="pagination">
<a class="first page button" href="\'.get_pagenum_link(1).\'">[First]</a>\';
for($i=1;$i<=$query->max_num_pages;$i++)
echo \'<a class="page button" href="\'.get_pagenum_link($i).\'">\'.$i.\'</a>\';
echo \'<a class="last page button" href="\'.get_pagenum_link($query->max_num_pages).\'">[Last]</a></div>
\';
endif;
wp_reset_query();
?>
问题显然在于:

for($i=1;$i<=$query->max_num_pages;$i++)
第一个(&A);上次打印很好-页码不正确。

提前感谢

EDIT

如果我这样做,它会起作用:

for($i=1;$i<=99;$i++)
因此,问题在于:

$query->max_num_pages;
还有什么想法吗?

1 个回复
SO网友:user1606423

try this

<?php 
//global $wp_rewrite;
$loop->query_vars[\'paged\'] > 1 ? $current = $loop->query_vars[\'paged\'] : $current = 1;

$pagination = array(
    \'base\' => @add_query_arg(\'page\',\'%#%\'),
    \'format\' => \'\',
    \'total\' => $loop->max_num_pages,

    \'current\' => 0,
    \'show_all\' => true,
    \'prev_next\'    => true,
    \'prev_text\'    => __(\'&laquo; Back\'),
    \'next_text\'    => __(\'Newxt&raquo;\'),
    \'type\' => \'plain\'
    );

if( $wp_rewrite->using_permalinks() )
    $pagination[\'base\'] = user_trailingslashit( trailingslashit( remove_query_arg( \'s\', get_pagenum_link( 1 ) ) ) . \'page/%#%/\', \'paged    \' );    

    echo "<div class=\\"pagination\\" >";    
echo paginate_links( $pagination );    
echo "</div>";    
?>    
结束

相关推荐

Modifying a Loop to Show More

此循环显示主题选项中指定的特定类别中超过4个帖子标题的一篇特色帖子。我想做的是显示4个标题中的所有4个帖子,在4个标题之上。这4个标题来自这段代码<a class=\"listtitle\" href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"<?php printf( esc_attr__( \'Permalink to %s\', \'wpnewspaper\' ), the_title_attribute( \