任何人都可以解释一下,为什么以下打印页码的方法在我的本地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;
还有什么想法吗?
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\' => __(\'« Back\'),
\'next_text\' => __(\'Newxt»\'),
\'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>";
?>