关于#wordpress#的问题,如何不让产品页URL中的 . 换成 -

wordpress中在发布产品时 页面地址自定义为 https://www.jy.ms/domain-name/rygod.com 发布后变成了https://www.jy.ms/domain-name/rygod-com

但是 https://www.jy.ms/domain-name/rygod-comhttps://www.jy.ms/domain-name/rygod.com 都可以访问。

也就是说URL中的 . 自动转换成 - 请问如何不让产品页URL中的 . 换成 - 谢谢!

该回答引用GPTᴼᴾᴱᴺᴬᴵ
WordPress默认会将点号转换成短划线,以避免一些特殊字符在URL中可能带来的问题。但是,你可以通过修改函数来更改此行为。

在主题或插件中,你可以使用sanitize_title函数自定义URL的格式。该函数在WordPress中用于生成可读的URL,并将标题字符串中的空格和其他特殊字符转换为短划线。

以下是将点号保留在URL中的示例代码:

function custom_sanitize_title( $title ) {
  $title = str_replace( '.', '-', $title ); // 将点号替换为短划线
  return $title;
}
add_filter( 'sanitize_title', 'custom_sanitize_title', 10, 1 ); // 添加过滤器


将此代码添加到你的主题functions.php文件或插件中,它将替换默认的sanitize_title函数,将点号转换为短划线的行为。

请注意,更改此行为可能会导致某些链接或插件出现问题。因此,在进行更改之前,请确保进行备份并测试所有功能是否正常工作。