显示所有数字而不是分页块的编号分页

时间:2016-08-07 作者:Prajwol

所以我有一个页面,我想列出特定类别的帖子,并根据该类别进行编号分页。列出帖子并不是一个问题,因为我使用的是Divi,它很容易做到。但是分页没有进行。

Assuming following scenario:

  • 类别名称=事件
  • 事件类别中的帖子数量=6
  • 每页最大帖子数=2
    • Expected output:

      1 2 3下一步

      Current output:

      1 2 3。。6下一步

      基本上,它显示所有的数字,即分页块的数量等于该类别中的帖子数量。

      功能代码。用于分页的php

      function myPagination($args = \'\')
      {
          if (!isset($args[\'category\'])) {
              return;
          }
          ob_start();
          $cat_id = get_cat_ID($args[\'category\']);
          $mycats = get_categories("include=$cat_id");
          $total = $mycats[0]->category_count;
          /*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*/
              if (get_option(\'permalink_structure\')) {
                  $format = \'&paged=%#%\';
              } else {
                  $format = \'page/%#%/\';
              }
              $pagination = paginate_links(array(
                  \'base\'     => get_pagenum_link(1) . \'%_%\',
                  \'format\'   => $format,
                  \'current\'  => $current_page,
                  \'total\'    => $total,
                  \'mid_size\' => 3,
                  \'type\'     => \'list\',
                  \'add_args\' => $query_args
                  ));
              ob_end_clean();
              return $pagination;
          }
      }
      
      我能想到的问题是,它并没有用最多的帖子来显示页面间隙。

      任何帮助都将不胜感激。

      非常感谢。

1 个回复
最合适的回答,由SO网友:Sovit Tamrakar 整理而成

您确实输入了帖子/事件总数作为总页数。您应该将总页数而不是总页数作为“total”参数传递。因此,要作为总页数传递,您应该计算像total\\u POSTS/PER\\u PAGE这样的值。。因此,如果你有6篇文章,每页有2篇文章,那么它将是6/2=3页。。所以“总”值应该是3。。如果你有7篇帖子。。然后是7/2=3.5=4页。。PHP ceil函数实现了将值四舍五入到最高值的技巧。

所以你的部分代码应该是

$total=ceil($mycats[0]->category_count/$my_per_page);
其中$my\\u per\\u page是您的每页变量。

我希望这能解决你的问题

相关推荐

change pagination url

目前,我的分页页面URL为:http://www.example.com/category_name/page/2但我需要将此URL结构更改为:http://www.example.com/category_name/?page=2等有什么解决方案吗?