昊天SEO

WordPress 控制标题的字数

WordPress 输出标题的函数 the_title() 是完整地输出标题长度,如果用在相关文章列表中,标题太长时会换行,有时影响版面的美观,所以想指定长度的输出。搜了下网络,发现用 mb_strimwidth 可以比较容易地实现。mb_strimwidth 是PHP的库函数,对中文支持也非常好,前提是你的空间已经安装了mbstring库。

还要提醒一下,如果用在中文站上,最好加上 utf-8 标记,比如这样:

[cce]<?php echo mb_strimwidth(get_the_title(), 0, 60, '[…]', 'utf-8'); ?>[/cce]

否则容易出现最后一个字符变成乱码。

不过,我测试的时侯又发现小问题,比如标题里如果含有”&”这种字符的话,因为 & 字符在Wordpress数据库里一般以 &amp;这样保存的,而 get_the_title()是直接提取数据库的字符,如果长度不凑巧,说不定就分在 “&am” 这里了,这样子就难看了。

不过,我测试的时侯又发现小问题,比如标题里如果含有”&”这种字符的话,因为 & 字符在Wordpress数据库里一般以 &amp;这样保存的,而 get_the_title()是直接提取数据库的字符,如果长度不凑巧,说不定就分在 “&am” 这里了,这样子就难看了。

通过 htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。先把 &amp; 符号转换成 & 符号,把上面的语句改改,变成:

[cce]<?php echo mb_strimwidth(htmlspecialchars_decode(get_the_title()), 0, 60, '[…]', 'utf-8'); ?>[/cce]

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址