分页在自定义页面上不起作用

时间:2017-10-03 作者:Marcelo Henriques Cortez

我有一个自定义页面,在那里我显示文章部分的帖子。

我想每页显示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\'       => __(\'&laquo;\'),
\'next_text\'       => __(\'&raquo;\'),
\'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>";
}
}

1 个回复
最合适的回答,由SO网友:Marcelo Henriques Cortez 整理而成

好的,我找到了这个特定案例的解决方案,因为它是文章的模板。

在管理设置中,将自定义页面定义为文章页面。使用我在问题中发布的代码,一切正常。

现在,如果您将一个页面用于主页,另一个页面用于文章,并且您有另一个需要分页的自定义页面,那么此解决方案将无法工作。

如果有人知道如何解决这个问题,最好把信息留在这里。

结束

相关推荐

Functions.php中的字符串转换不起作用

我在中使用了以下代码functions.php 要翻译一些文本:add_filter(\'gettext\', \'aad_translate_words_array\'); add_filter(\'ngettext\', \'aad_translate_words_array\'); function aad_translate_words_array( $translated ) { $words = array( // \'word to