默认情况下,wordpress会删除要生成的重音符号和奇怪字符post_name
在wp\\U posts表中。当我们将permalink结构更改为/%postname%/
或一些类似的结构。在我的语言中,我不想删除和替换许多字符,因为它扭曲了含义。
我已经换了sanitize_title_with_dashes
wp中的函数包括/格式化为:
函数sanitize\\u title\\u with\\u破折号($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);
/*注释掉此代码块
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);
//注释掉$title=preg\\u replace(\'/[^%a-z0-9 \\-]/\',\'\',\'\',$title);
$title = preg_replace(\'/\\s+/\', \'-\', $title);
$title = preg_replace(\'|-+|\', \'-\', $title);
$title = trim($title, \'-\');
return $title;
}
例如,为我的语言中的所有字符正确生成post\\u名称http://1.todaytravels.info
在最新的帖子中,url非常好,但wordpress根本找不到帖子(它说not found
). 我想我需要更改permalink结构中的某些内容,以便WP查询到正确的帖子。
有人知道如何解决这个问题吗?
谢谢你的帮助!