Toscho 这样建议我。
Google将-视为单词分隔符,但不将其视为\\u0。你会受伤的。:)
他是百分之百真实的。这里是an article 这就是原因。所以我放弃了这个想法。
但如果你仍然在寻找解决方案,这里就是答案。
答复人:this stackoverflow user
查找以下文件:wp-includes/formatting.php
跳到sanitize_title_with_dashes
作用您可以在其中找到这段代码:
$title = strtolower($title);
$title = preg_replace(\'/&.+?;/\', \'\', $title); // kill entities
$title = str_replace(\'.\', \'-\', $title);
$title = preg_replace(\'/[^%a-z0-9 _-]/\', \'\', $title);
$title = preg_replace(\'/\\s+/\', \'-\', $title);
$title = preg_replace(\'|-+|\', \'-\', $title);
$title = trim($title, \'-\');
替换掉所有破折号/连字符(
-
) 对于下划线(
_
) 像这样:
$title = strtolower($title);
$title = preg_replace(\'/&.+?;/\', \'\', $title); // kill entities
$title = str_replace(\'.\', \'_\', $title);
$title = preg_replace(\'/[^%a-z0-9 _-]/\', \'\', $title);
$title = preg_replace(\'/\\s+/\', \'_\', $title);
$title = preg_replace(\'|-+|\', \'_\', $title);
$title = trim($title, \'_\');
请注意,在此更改之前创建的所有帖子,并依赖
%postname%
永久链接结构标记,将被破坏。
在这种情况下,您需要返回并重新发布这些帖子,以便将破折号替换为下划线。或者只编写一点SQL来替换它们。