如何在wordpress永久链接中使用下划线

如何在wordpress永久链接中使用下划线,wordpress,permalinks,Wordpress,Permalinks,Wordpress将我的文章标题转换为永久链接,这很好,唯一的问题是我需要下划线而不是连字符,有快速解决方案吗?在wp includes/formatting.php中查找函数sanitize_title_with_dash() 将对preg_replace there的调用更改为使用下划线而不是hypens。在wp includes/formatting.php中查找函数sanitize_title_with_dash() 将对preg_replace there的调用更改为使用下划线而不是h

Wordpress将我的文章标题转换为永久链接,这很好,唯一的问题是我需要下划线而不是连字符,有快速解决方案吗?

在wp includes/formatting.php中查找函数sanitize_title_with_dash()


将对preg_replace there的调用更改为使用下划线而不是hypens。

在wp includes/formatting.php中查找函数sanitize_title_with_dash()


将对preg_replace there的调用更改为使用下划线而不是hypens。

查找以下文件:
wp includes/formatting.php

跳转到
sanitize\u title\u with_破折号
功能。您可以在下面的代码中找到这部分代码:

$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%
permalink结构标记的任何帖子都将被破坏


在这种情况下,您需要返回并重新发布这些帖子,以便将破折号替换为下划线。或者自己编写一点SQL来替换它们。

查找以下文件:
wp includes/formatting.php

跳转到
sanitize\u title\u with_破折号
功能。您可以在下面的代码中找到这部分代码:

$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%
permalink结构标记的任何帖子都将被破坏


在这种情况下,您需要返回并重新发布这些帖子,以便将破折号替换为下划线。或者自己编写一个小SQL来替换它们。

我不会这么做主要是因为


你有什么具体的理由这样做吗?我在这里读到的每个解决方案都是关于破解wordpress core的,每次你更新你的系统时,你都会再次编辑所有这些文件。(事实上,2.8.6只是可用的。如果您使用的是旧版本,则需要更改两次)。

我不会这么做,主要是因为


你有什么具体的理由这样做吗?我在这里读到的每个解决方案都是关于破解wordpress core的,每次你更新你的系统时,你都会再次编辑所有这些文件。(事实上,2.8.6只是可用的。如果您使用的是旧版本,则需要更改两次)。

我不建议更改核心wordpress文件,您将在升级站点后立即丢失您的工作。您可以制作一个插件,或者将其放入主题的functions.php文件中

add_filter( 'sanitize_title', 'dashes_to_underscore' );
function dashes_to_underscore( $title ){
    return str_replace( '-', '_', $title );
}

我不建议您更改核心wordpress文件,一旦您升级站点,您的工作就会丢失。您可以制作一个插件,或者将其放入主题的functions.php文件中

add_filter( 'sanitize_title', 'dashes_to_underscore' );
function dashes_to_underscore( $title ){
    return str_replace( '-', '_', $title );
}

这改变了所有的标题,不仅仅是永久链接。我发现这是因为它破坏了我的边栏函数。将左侧边栏更改为左侧边栏,但它已注册为左侧边栏。这将更改所有标题,而不仅仅是永久链接。我发现这是因为它破坏了我的边栏函数。将左侧边栏更改为左侧边栏,但它已注册为左侧边栏。有没有办法在Url中同时允许破折号和下划线?例如:www.wordpress.com/what_is_yo-ur_name/是否有任何方法允许在Url中使用破折号和下划线?例如:www.wordpress.com/what_是什么/