WordPress 不同文章类型设置不同摘要长度

荣誉就像河流:轻浮的和空虚的荣誉浮在河面上,沉重的和厚实的荣誉沉在河底里。雨会停,心会晴,没有什么会永远糟糕透顶。

在做企业主题开发的时候,一般都会有几种文章类型,对于WordPress而言,设置摘要长度比较规范的用法是通过钩子 excerpt_length 去实现。

设置摘要长度

比如常用代码范例如下:

/**
 * 通过钩子设置摘要长度为 30
 *
 * @param int $length Excerpt length.
 * @return int (Maybe) modified excerpt length.
 */
function wpdaxue_excerpt_length( $length ) {
    return 30;
}
add_filter( 'excerpt_length', 'wpdaxue_excerpt_length');

设置摘要的更多字符

通常,我们还需要借助 excerpt_more 钩子去自定义摘要后面的字符,默认为 […] ,如果要改为 ,可以使用下面的代码范例:

/**
 * 钩子设置摘要后的更多字符
 */
 function wpdaxue_excerpt_more( $more ) {
     return '...';
 }
 add_filter( 'excerpt_more', 'wpdaxue_excerpt_more' );

不同文章类型设置不同摘要长度

言归正传,要为不同的文章类型设置不同的摘要长度,可以通过判断文章类型来分别定义,代码范例如下:

/**
 * 不同文章类型设置不同摘要长度
 */
function wpdaxue_variable_excerpt_length( $length ) {
  // 使用全局变量 $post 检测当前文章所属的文章类型
  global $post;
  
  // 针对不同的文章类型设置不同长度
  if ( 'post' === $post->post_type ) {
    return 32;
  } else if ( 'page' === $post->post_type ) {
    return 65;
  } else if ( 'products' === $post->post_type ) {
    return 75;
  } else {
    return 80;
  }
}
add_filter( 'excerpt_length', 'wpdaxue_variable_excerpt_length');

就是这样!

以上就是WordPress 不同文章类型设置不同摘要长度。活得像自己就好了,何必在意那么多。更多关于WordPress 不同文章类型设置不同摘要长度请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?

WordPress安装在主机空间的什么目录里面?根目录在哪里?