很多时候我们需要统一文章或商品的标题,使得文章和商品的排版可以对齐,从而整个网页的排版显得美观。这时候我们需要使用到标题字数显示限制,但是当我们限制了标题字数后,有的标题会出现最后一个可显示的字是乱码。
这个乱码主要出现在中文里。因为中文一个字是由多个字符组成,当我们限制了显示字数时,实质上是限制了显示的字符。这就出现字符达到显示上限时,最后一个字符并不是组成一个中文字的最后一个字符。那么,就会造成整个汉字被断,出现乱码。
这里放一个商品标题的修改代码示例
add_filter( ‘the_title’, ‘shorten_woo_product_title’, 10, 2 );
function shorten_woo_product_title( $title, $id ) {
if ( ! is_singular( array( ‘product’ ) ) && get_post_type( $id ) === ‘product’ ) {
return wp_trim_words( $title, 4, ‘…’ ); // change last number to the number of words you want
} else {
return $title;
}
}
解决办法
1先看自己服务器支持不支持utf-8,不支持要从apahce设置打开。
2 网上搜索utf-8显示代码,修改function。
3 修改function文件没反应或者出现新的乱码,是因为旧的function里的其他代码可能造成冲突,使得function不支持utf-8。即使你将utf-8代码正确写入function,也无法修复断字乱码。这时候换一个支持现有网站的function就好了。