• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    WordPress获取文章摘要函数the_excerpt、get_the_excerpt【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 文章摘要不仅对于网站的SEO是非常重要,而且对网页的排版提升用户体验也很重要。WordPress给我们提供了两个获取文章摘要的函数the_excerpt与get_the_excerpt,可以让我们轻易的得到文章摘要数据。如果不使用摘要,试想如果的文章列表将整篇文章显示出来,用户得翻多久才能看到下一篇文章呢?下面是WordPress获取摘要函数的构成使用详解。

      函数描述

      the_excerpt:显示文章摘要。

      get_the_excerpt:检索文章摘要。

      函数原型

      the_excerpt与get_the_excerpt函数都位于wp-includes/post-template.php文件中。

      function the_excerpt() {
       
          /**
           * Filters the displayed post excerpt.
           *
           * @since 0.71
           *
           * @see get_the_excerpt()
           *
           * @param string $post_excerpt The post excerpt.
           */
          echo apply_filters( 'the_excerpt', get_the_excerpt() );
      }

      不用说,从函数构成上可以看出,the_excerpt函数是用get_the_excerpt函数构成的,下面是get_the_excerpt函数的源码。

      function get_the_excerpt( $post = null ) {
          if ( is_bool( $post ) ) {
              _deprecated_argument( __FUNCTION__, '2.3.0' );
          }
       
          $post = get_post( $post );
          if ( empty( $post ) ) {
              return '';
          }
       
          if ( post_password_required( $post ) ) {
              return __( 'There is no excerpt because this is a protected post.' );
          }
       
          /**
           * Filters the retrieved post excerpt.
           *
           * @since 1.2.0
           * @since 4.5.0 Introduced the `$post` parameter.
           *
           * @param string $post_excerpt The post excerpt.
           * @param WP_Post $post Post object.
           */
          return apply_filters( 'get_the_excerpt', $post->post_excerpt, $post );
      }

      从上面代码中可以看出,get_the_excerpt函数直接取出了从数据库查到的文章数据。

      参数

      the_excerpt函数只能使用在WordPress主循环中,不需要参数。

      get_the_excerpt函数参数是文章id,可以通过文章id获取到文章的摘要数据,可以不填,不填时与the_excerpt一样,不在文章主循环可能会出现错误,带参数可以在主循环外使用。

      函数使用方法

      <?php the_excerpt();?>

      注意,这个函数获取的文章摘要将会以[…]结尾,如博客的文章列表摘要,如果你不喜欢,可以使用字符串替换函数替换掉。

      <?php get_the_excerpt();?>

      如果你对截取的字符数不满意,可以使用PHP字符串截取函数自行截取摘要字数,太简单了就不说了。

      你需要登录,才能进行发帖操作