我有一个自定义页面,在那里我显示文章部分的帖子。
我想每页显示6篇文章,并使用编号分页。
每次我都要在归档文件外使用“分页”。php之类的东西,我有问题。
我该如何解决这个问题?
My code:
<?php
$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
$args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => 6,
\'paged\' => $paged,
);
$post_query = new WP_Query($args);
if($post_query->have_posts() ) :
while($post_query->have_posts() ) :
$post_query->the_post();
the_title();
endwhile;
if (function_exists(custom_pagination)) {
custom_pagination($custom_query->max_num_pages,"",$paged);
}
endif;
wp_reset_postdata();
?>
My \'functions.php\':
(我遵循了本教程:
http://callmenick.com/post/custom-wordpress-loop-with-pagination)
function custom_pagination($numpages = \'\', $pagerange = \'\', $paged=\'\') {
if (empty($pagerange)) {
$pagerange = 2;
}
global $paged;
if (empty($paged)) {
$paged = 1;
}
if ($numpages == \'\') {
global $wp_query;
$numpages = $wp_query->max_num_pages;
if(!$numpages) {
$numpages = 1;
}
}
$pagination_args = array(
\'base\' => get_pagenum_link(1) . \'%_%\',
\'format\' => \'page/%#%\',
\'total\' => $numpages,
\'current\' => $paged,
\'show_all\' => False,
\'end_size\' => 1,
\'mid_size\' => $pagerange,
\'prev_next\' => True,
\'prev_text\' => __(\'«\'),
\'next_text\' => __(\'»\'),
\'type\' => \'plain\',
\'add_args\' => false,
\'add_fragment\' => \'\'
);
$paginate_links = paginate_links($pagination_args);
if ($paginate_links) {
echo "<nav class=\'custom-pagination\'>";
echo "<span class=\'page-numbers page-num\'>Page " . $paged . " of " . $numpages . "</span> ";
echo $paginate_links;
echo "</nav>";
}
}
最合适的回答,由SO网友:Marcelo Henriques Cortez 整理而成
好的,我找到了这个特定案例的解决方案,因为它是文章的模板。
在管理设置中,将自定义页面定义为文章页面。使用我在问题中发布的代码,一切正常。
现在,如果您将一个页面用于主页,另一个页面用于文章,并且您有另一个需要分页的自定义页面,那么此解决方案将无法工作。
如果有人知道如何解决这个问题,最好把信息留在这里。