我有自定义的帖子类型“Email”,其中帖子标题总是一个电子邮件地址,即:[email protected]
我遇到的问题是永久链接中的“@”正在删除:../exampledomain-com
我希望它另存为:../example-domain-com
将“@”替换为“-”
我尝试了以下方法from here, 但知识渊博的人很快就会发现,这不适用于permalink:
function at_to_dash($title) {
return str_replace(\'@\', \'-\', $title);
}
add_filter(\'sanitize_title\', \'at_to_dash\');
最合适的回答,由SO网友:Hans 整理而成
只需确保您的过滤器在Wordpress本身应用的过滤器之前运行-添加优先级9:
add_filter( \'sanitize_title\', function( $title ) {
if ( FALSE !== strpos( $title, \'@\' ) ) {
$title = str_replace( \'@\', \'-\', $title );
}
return $title;
}, 9 );
用法:
echo sanitize_title( \'[email protected]\' );
输出:
mytitle-example-org