手机
当前位置:查字典教程网 >CMS教程 >WordPress >wordpress在postname中支持大写字母的方法
wordpress在postname中支持大写字母的方法
摘要:一般而言,WordPress本身会对英语用户的体验进行优化,例如默认模板的分隔符永远都是“|”,因为英文单词以空格空...

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

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

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);</p> <p> $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);

}</p> <p> //$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, '-');</p> <p> return $title;

}

将上面的代码拷贝到你的主题文件functions.php中,它即可取消wordpress对postname的格式化,同样,它也对分类、标签等的别名起作用。

【wordpress在postname中支持大写字母的方法】相关文章:

WordPress反复出现需要升级数据库的解决方法

WordPress自定义多个边栏的方法

wordpress后台中的侧边栏添加菜单或子菜单的方法

修改WordPress链接顺序和排序的方法

WordPress搜索结果按浏览量排序的实现方法

Wordpress不用插件的SEO优化方法分享

WordPress 3.1顶部admin bar不见了的解决方法

wordpress后台添加子菜单的常用几种情况及对应方法

wordpress中用JavaScript 输出页面代码的方法

wordpress dynamic_sidebar()函数使用方法

精品推荐
分类导航