我正在使用自定义永久链接“/%category%/%postname%/”。每当帖子标题包含引号或撇号时,它们都会出现在URL中。
有人能告诉我如何防止它们出现在鼻涕虫中吗?
我正在运行WordPress 3.0.4。
我正在使用自定义永久链接“/%category%/%postname%/”。每当帖子标题包含引号或撇号时,它们都会出现在URL中。
有人能告诉我如何防止它们出现在鼻涕虫中吗?
我正在运行WordPress 3.0.4。
在WordPress中,“--”和“-”变成em破折号(—;—
) 并且“-”变成一个短划线(—;#8212;
). 这个sanitize_title_with_dashes() 函数无法捕获这些。
该函数使用基于数据库的副本,但显示给用户的标题始终通过纹理化函数。因此,如果我们在进入数据库的过程中替换en/em破折号,最终结果将是相同的,并且避免了这些糟糕的URL情况,标题将被重新纹理化。
add_action( \'title_save_pre\', \'do_replace_dashes\' );
function do_replace_dashes($string_to_clean) {
# The html entities (– and —) don’t actually work but I include them for kicks and giggles.
$string_to_clean = str_replace( array(\'—\', \'—\', \'–\', \'–\', \'‚\', \'„\', \'“\', \'”\', \'’\', \'‘\', \'…\'), array(\' -- \',\' -- \', \'--\',\'--\', \',\', \',,\', \'"\', \'"\', "\'", "\'", \'...\'), $string_to_clean );
return $string_to_clean;
}
我看到有一些插件可以解决这个问题。检查Clean URL 例如:
这个简单的WordPress插件用于生成文章slug(=URL中使用的文章名称)。它删除除字母a-z、数字和连字符(-)以外的所有字符。该插件作为整个url生成过程中的最后一个插件运行,因此首先执行所有变音符号和重音符号的标准替换,然后,如果仍然存在一些奇怪的字符,则将其删除。
WordPress是否有一种编码URL的方法或API,类似于在URL中使用标题时生成部分URL的方式?我正在编写一个生成URL的插件,并希望使用与其他所有插件相同的方法。例如,我在标题中键入“这是我的博客文章”,然后生成“这是我的博客文章”。