!
也想出现在这里? 联系我们
广告位

自定义WordPress字符串截取函数

一般情况下,当我们制作 WordPress 列表页的时候,会需要截取一部分正文内容作为列表的文章摘要,当然,WordPress 默认的是有一个字符串截取函数,那就是 wp_trim_words(),但是我们在日常 WordPress 主题开发中发现这个函数有一个问题,那就是,比如网站整体您设置的是英语,但是你某个账号设置的是中文,那么使用这个函数截取指定字数的字符串的时候,当使用这个账号登陆状态下和不使用这个账号登陆状态下显示的数量是不同的,这可能是英文这个函数会根据当前账号的语言去进行截取,大家知道中文和英文计算字符串数量是不同的,所以会导致以上这种情况。

另外,WordPress 还有另外一个函数 mb_strimwidth()可以进行字符串的截取,但是这个函数需要服务器支持 php-mbstring,然而有些服务器活主机却不能支持 php-mbstring,所以还是不太好用。

再者,如果直接使用 php 的 mb_substr()函数,同样是对 php 有一定要求的。

所以,不如果我们自己定义一个字符串截取函数来使用,其实方法很简单,将下面的代码放到您的主题 functions.php 中:

  1. //自定义字符串截断函数:
  2. function mx_strimwidth($str ,$start , $width ,$trimmarker ){
  3. $output = preg_replace('/^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$start.'}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$width.'}).*/s','\1',$str);
  4. return $output.$trimmarker;
  5. }

然后需要使用的地方直接使用<?php echo mx_strimwidth('这里是要截取的字符串','这里是从第几个字符开始截取一般是 0','这里是要截取字符串的数量','这里是超出截取数量后的文字用什么显示比如省略号');?>进行截取并输出显示就行了。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 管理面板中禁用主题和插件编辑器

2022-11-19 0:39:10

WordPress教程

Woocommerce中通过变体可变属性ID获取属性slug值

2022-11-19 2:10:16

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索