• 注册
  • 看我脸色
    看我脸色套图达人
    个人签名:就是喜欢美的东西。
    关注1 粉丝1 喜欢0内容256
    上海 · 晴 15-30℃
    全部文章 全部文章 关注:0 内容:1070

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

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 全部文章
    • LV.1 新手
      套图达人

      文章摘要不仅对于网站的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字符串截取函数自行截取摘要字数,太简单了就不说了。

      请登录之后再进行评论

      登录
    • 帖子间隔 侧栏位置: