WordPress升级后摘要输出全文,wp_trim_words()失效原因与解决方法

WordPress升级后摘要输出全文,wp_trim_words()失效原因与解决方法

1. 问题描述

在WordPress的文章模板中,我们经常使用wp_trim_words()函数来实现只显示文章摘要而不显示全文的效果。但是,当WordPress升级到某些版本后,我们会发现wp_trim_words()函数失效了,无法实现摘要输出全文的效果。

2. 失效原因

根据官方文档的描述,wp_trim_words()函数是通过PHP的substr()函数实现的。而substr()函数在处理某些多字节字符时,会出现截断的问题,从而导致wp_trim_words()函数失效。

3. 解决方法

为了解决wp_trim_words()函数失效的问题,我们需要使用WordPress提供的另外一个函数:wp_trim_excerpt()。该函数和wp_trim_words()的作用类似,都可以实现文章摘要的输出。但是,wp_trim_excerpt()函数是通过WordPress内部的字符处理机制实现的,可以正确处理多字节字符,不会出现截断的问题。


/**
 * 通过wp_trim_excerpt函数输出摘要
 */
function get_excerpt_by_id($post_id){
    $post = get_post($post_id);
    $content = $post->post_content;
    $excerpt = wp_trim_excerpt($content);//调用wp内置函数
    return $excerpt;
}

在使用wp_trim_excerpt()函数时,我们需要注意一下几点:

  1. 该函数只能在文章模板中使用,不能在主题函数中使用。
  2. 如果文章没有手动设置摘要,则该函数会自动截取文章的前几十个字作为摘要。
  3. 如果文章中有手动设置的摘要,则该函数会直接返回手动设置的摘要。
  4. 该函数会自动去除摘要中的HTML标签,保证输出的摘要是纯文本。

通过以上方法,我们可以解决WordPress升级后wp_trim_words()函数失效的问题,实现摘要输出全文的效果。

晓白博客网版权所有,原文地址https://www.xbnb.cn/5121
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容