wordpress产品标题和文章标题的字数限制
wordpress产品标题和文章标题的字数限制方法
首先:在functions.php最后加入以下代码
方法一
function shorten_woo_product_title( $title, $id ) {
if (is_admin()) {return $title;}
if ( ! is_singular( array( 'product' ) ) && get_post_type( $id ) === 'product' ) {
return substr( $title, 0, 30).'...';//后面的数字30即为截短后的字符数,改为你想要的即可
} else {
return $title;
}
}
add_filter( 'the_title', 'shorten_woo_product_title', 10, 2 );
方法二
[code lang=”php”]
<?php
function excerpttitle($max_length) {
$title_str = get_the_title();
if (mb_strlen($title_str,’utf-8′) > $max_length ) {
$title_str = mb_substr($title_str,0,$max_length,’utf-8′).’…’;
}
return $title_str;
}?>
[/code]
注释:定义了一个函数,如何调用呢在你想要使用字数限制的页面,将原有的
<?php the_title(); ?>
替换成
<?php echo excerpttitle(20);?>
这个是网络上最常用到的方法了,只是通过使用有个缺陷,就是把一个字母和一个汉字都当做了一个字符
结果就是一篇拥有大于20个字母的英文标题也会被限制为20个字母,而大于20个汉字的中文标题被限制为20个汉字
方法三
<?php the_title(); ?>
替换成
<?php echo mb_strimwidth(get_the_title(), 0, 40, ‘…‘); ?>
注释:这就是一个汉字字符等于两个英文字符,比如上面的设置中为40,那么如果标题是英文则输出40个字符,如果标题是中文,则输出40/2=20个字符。
只是这个方法需要PHP 服务器支持 MB 库(mbstring 库 全称是 Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8 其他的编码的语言是没办法在 php 程序上正确显示的。解决的方法就是通过 php 的 mbstring 函数库来解决),不过现在的PHP服务器都有此功能了。
阅读剩余
版权声明:
作者:liu, dong
链接:https://023330.xyz/wordpress%e4%ba%a7%e5%93%81%e6%a0%87%e9%a2%98%e5%92%8c%e6%96%87%e7%ab%a0%e6%a0%87%e9%a2%98%e7%9a%84%e5%ad%97%e6%95%b0%e9%99%90%e5%88%b6/
文章版权归作者所有,未经允许请勿转载。
THE END