下面是我对你的问题的评论。
解决方案是将您自己的过滤器挂接到相同的函数上sanitize_title_with_dashes
是的,在这种情况下,我想你只是想sanitize_title
与之前一样sanitize_title_with_dashes
.
只需确保您在sanitize_title_with_dashes
, 以默认优先级10连接。
例如:。
add_filter(\'sanitize_title\', \'limpiar_slug\', 11 );
无需破解核心文件。
EDIT BELOW:
您可以尝试一些正则表达式,下面是一个示例,代码改编自Adriana Villafañe的代码,以响应
Regular expression - any text to URL friendly one 在StackOverflow上。
add_filter( \'sanitize_title\', \'sanitize_title_extra\' );
function sanitize_title_extra( $title ) {
$friendlyURL = htmlentities($title, ENT_COMPAT, "UTF-8", false);
$friendlyURL = preg_replace(\'/&([a-z]{1,2})(?:acute|lig|grave|ring|tilde|uml|cedil|caron);/i\',\'\\1\',$friendlyURL);
$friendlyURL = html_entity_decode($friendlyURL,ENT_COMPAT, "UTF-8");
$friendlyURL = preg_replace(\'/[^a-z0-9-]+/i\', \'-\', $friendlyURL);
$friendlyURL = preg_replace(\'/-+/\', \'-\', $friendlyURL);
$friendlyURL = trim($friendlyURL, \'-\');
$friendlyURL = strtolower($friendlyURL);
return $friendlyURL;
}
似乎可以清除一些不需要的字符,随意调整,等等。。。