华纳云香港服务器

WordPress函数wp_trim_words()截取字符串失效输出全文内容怎么办?

WordPress主题推荐

今天有站长反馈说他的WordPress站点输出摘要的地方变成了输出全文,原因就是使用了WordPress截取字符串函数wp_trim_words()失效了。原本boke112百科以为是特例,没想到看了一下自己的一个站点发现也出现这种情况,具体如下图所示:

WordPress函数wp_trim_words()截取字符串失效输出全文内容怎么办?-第1张-boke112百科(boke112.com)

如上图所示,本来输出指定字数的文章内容,结果将全文内容都输出来了。查看文章页的description值如果是用wp_trim_words()函数控制输出字数的话,也失效了,同样变成了输出文章全文。不过经过测试文章内容是英文的话就没有问题。

后来在网上搜索了wp_trim_words()函数失效,发现反馈这个问题的文章有很多,但是都是复制粘贴,内容一样,解决办法也一样,就是说前往WordPress中文官网下载最新版的WordPress,解压后将 wp-content/languages目录下的文件上传覆盖下就能解决,详见『升级 WordPress 后摘要输出全文?wp_trim_words() 失效?』。

不过boke112百科经过测试发现这个方法并没有解决wp_trim_words()失效的问题,所以决定将这个wp_trim_words()函数更改为另一个函数来解决这个问题。我们只需要在所使用的主题文件中找到类似以下代码:

wp_trim_words($post->post_content, 120, '...' );

修改为:

mb_strimwidth($post->post_content, 0, 120,'...' );

mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 120,"...");

等等即可解决问题。

当然,不想修改函数的话,根据WordPress大学最新分享的『WordPress 6.0.1 简体中文版导致摘要截取失效的解决办法』一文介绍,临时解决办法就是下载 WordPress 6.0 简体中文版,将 wp-content/languages/ 里面的 zh_CN.mo 文件上传到出问题的网站的 wp-content/languages/ 目录覆盖同名文件。另外,若后台提示更新翻译的话,不要更新,否则又会被覆盖哦。

本文地址:https://boke112.com/post/10233.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu