用Adi Purdia→TutsPlus的Bootstrap构建wordpress主题

时间:2016-10-31 作者:The WP Intermediate

我开始从wordpress视频教程学习Tutsplus。Click Here.Adi Purdila在该教程上创建了一个函数→

/* ------------------------------------------------ */
/* 4. NUMBERED PAGINATION */
/* ------------------------------------------------ */
if ( ! function_exists( \'tuts_numbered_pagination\' ) ) {
    function tuts_numbered_pagination() {
        $args = array(
            \'prev_next\' => false,
            \'type\' => \'array\'
        );

        echo \'<div class="col-md-12">\';
        $pagination = paginate_links( $args );

        if ( is_array( $pagination ) ) {
            echo \'<ul class="nav nav-pills">\';
            foreach ( $pagination as $page ) {
                if ( strpos( $page, \'current\' ) ) {
                    echo \'<li class="active"><a href="#">\' . $page . \'</a></li>\';
                } else {
                    echo \'<li>\' . $page . \'</li>\';
                }
            }

            echo \'</ul>\';
        }

        echo \'</div>\';
    }
}
我无法理解此函数。虽然我能理解标记,比如为什么它会被回声等,但有很多事情我不理解,例如→

\'上一步\'=>错误,上一步\'→ is it something predefined in wordpress?

$页→ 本编号(如有定义);为什么Adi Purdila在使用它?它是某种全局变量吗。

P、 对许多专家来说,我的问题看起来很愚蠢,但请容忍我,因为我是个新手。

2 个回复
最合适的回答,由SO网友:jgraup 整理而成

在这种情况下,paginate_links 正在调用,并应返回链接数组。

$args = array(
    \'prev_next\' => false,
    \'type\' => \'array\'
);
paginate_links - 检索存档帖子页面的分页链接。从技术上讲,该功能可用于为任何区域创建分页链接列表(例如:«Prev 1…3 4 5 6 7…9 Next»)

  • prev_next (布尔)(可选)是否在列表中包括上一个链接和下一个链接
  • type (字符串)(可选)控制返回值的格式。可能的值是:
    • “普通”-一个链接由换行符分隔的字符串
    • “列表”-无序HTML列表as 用于定义要表示值的任何变量名,教程选择$page.

      foreach ( $pagination as $page )
      
      如果包含术语current 然后添加额外的属性来标记它以进行样式设置。

      strpos( $page, \'current\' )
      
      函数的示例输出可能如下所示:

      Array
      (
          [0] => <span class=\'page-numbers current\'>1</span>
          [1] => <a class=\'page-numbers\' href=\'http://example.com/page/2/\'>2</a>
          [2] => <a class=\'page-numbers\' href=\'http://example.com/page/3/\'>3</a>
          [3] => <span class="page-numbers dots">…</span>
          [4] => <a class=\'page-numbers\' href=\'http://example.com/page/7/\'>7</a>
      )
      
      使用prev_next 设置为true 您将看到如下内容:

      Array
      (
          [0] => <a class="prev page-numbers" href="http://example.com/">« Previous</a>
          [1] => <a class=\'page-numbers\' href=\'http://example.com/\'>1</a>
          [2] => <span class=\'page-numbers current\'>2</span>
          [3] => <a class=\'page-numbers\' href=\'http://example.com/page/3/\'>3</a>
          [4] => <a class=\'page-numbers\' href=\'http://example.com/page/4/\'>4</a>
          [5] => <span class="page-numbers dots">…</span>
          [6] => <a class=\'page-numbers\' href=\'http://example.com/page/7/\'>7</a>
          [7] => <a class="next page-numbers" href="http://example.com/page/3/">Next »</a>
      )
      
      如果要试验和检查输出,请尝试:

      $args = array (
              \'prev_next\' => true,
              \'type\'      => \'array\',
      );
      echo "<pre>";
      ob_start();
      print_r( paginate_links( $args ) );
      esc_html_e( ob_get_clean() );
      

SO网友:Parth Mahida

paginate\\u links是一个创建分页的函数,仔细查看,您会发现一些预定义的参数。以下是paginate\\u链接的codex文档链接:https://codex.wordpress.org/Function_Reference/paginate_links

在这里,该教程的作者正试图根据主题的要求对其进行修改。Prev\\u next是paginate\\u links函数的预定义参数,它将决定是否在分页中显示next和Prev按钮。

只要阅读文档,您就会理解它是如何工作的。

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();