wordpress在postname中支持大写字母的方法

一般而言,wordpress本身会对英语用户的体验进行优化,例如默认模板的分隔符永远都是“|”,因为英文单词以空格空开,要区分两个单词不可能用“-”,因此“|”是最好的选择。同样,为了让URL更符合浏览器解析和用户的识别,wordpress默认会将标题中的英文大写字母lower到小写。

然而对于中文网站来说,这或许不是一件很好的是,如果要在URL中使用中文,那么使用大写也是常有的,这里提供一种取消wordpress自动降级字母大写的方法

PHPcode19">remove_filter( 'sanitize_title','sanitize_title_with_dashes' );add_filter( 'sanitize_title','use_capital_letter_in_slug' );function use_capital_letter_in_slug($title) { $title = strip_tags($title); // Preserve escaped octets. $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|','---$1---',$title); // Remove percent signs that are not part of an octet. $title = str_replace('%','',$title); // Restore octets. $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|','%$1',$title);

$title = remove_accents($title); if (seems_utf8($title)) { //if (function_exists('mb_strtolower')) { // $title = mb_strtolower($title,'UTF-8'); //} $title = utf8_uri_encode($title,200); }

//$title = strtolower($title); $title = preg_replace('/&.+?;/',$title); // kill entities $title = str_replace('.','-',$title); // Keep upper-case chars too! $title = preg_replace('/[^%a-zA-Z0-9 _-]/',$title); $title = preg_replace('/\s+/',$title); $title = preg_replace('|-+|',$title); $title = trim($title,'-');

return $title;}

相关文章

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的...
这两段代码可以让你先体验一下WordPress 3.0的菜单样式 首先在functions.php添加如下代码: register_n...
有人说 WordPress 本身的 SEO 就比较好,我想这个和 WordPress 可以方便的自定义文章的固定链接有分不开...
曾经给大家介绍了在 WordPress 后台移除主题编辑器,今天继续加深,直接关闭 WordPress 后台的文件编辑...
WordPress之iNove主题内容页增加公告栏的方法,导航栏下面默认的公告栏只能在首页显示,只要修改一个文...
大多数WordPress用户都知道该怎么从数千个WordPress主题里挑出自己喜欢,但要自己开发新主题恐怕不是人...