我来自土耳其,我们的字母表中有“şŞçĞÜÖıİ”字符。
我想在永久链接/slug/用户名中使用这些字符。我通过核心黑客技术找到了永久链接/slug的临时解决方案。除了核心黑客似乎没有其他选择。您可以在此处找到解决方案:
http://core.trac.wordpress.org/ticket/15248
我的问题是,在这之后,用户注册也需要一些修正。幸运的是,我可以使用过滤器,但无法处理它:
在wordpress中包括/格式化。php:
function sanitize_user( $username, $strict = false ) {
$raw_username = $username;
$username = wp_strip_all_tags( $username );
$username = remove_accents( $username );
// Kill octets
$username = preg_replace( \'|%([a-fA-F0-9][a-fA-F0-9])|\', \'\', $username );
$username = preg_replace( \'/&.+?;/\', \'\', $username ); // Kill entities
// If strict, reduce to ASCII for max portability.
if ( $strict )
$username = preg_replace( \'|[^a-z0-9 _.\\-@]|i\', \'\', $username );
$username = trim( $username );
// Consolidate contiguous whitespace
$username = preg_replace( \'|\\s+|\', \' \', $username );
return apply_filters( \'sanitize_user\', $username, $raw_username, $strict );
}
这段代码产生错误:
if ( $strict )
$username = preg_replace( \'|[^a-z0-9 _.\\-@]|i\', \'\', $username );
不知何故,我需要禁用此部分。但我不知道怎么做。