WordPress 设置文章 post_name 字段与 ID 同步

前言

我一直有个强迫症,看着 WordPress 的文章中有个字段 post_name 如果不设置的话,就会默认使用标题 title 作为 post_name,导致使用 post_name 作为文章 URL 的时候会出现中文,看着很不协调。

然而我又不想手动去设置 post_name,于是乎想着能不能将 post_name 默认设置成与 ID 相同。

批量替换现有数据

首先将已经发布的文章给全部替换掉,直接用 SQL 语句

这里的 wp_posts 是 WordPress 数据库中的文章表。

发布文章自动修改

要在 WordPress 中每次发布或更新文章时,默认将 post_name 设置为与 ID 相同,可以通过添加自定义功能来实现此功能。

打开 WordPress 主题文件夹中的 functions.php 文件,在文件的末尾添加以下代码:

保存并上传 functions.php 文件到您的 WordPress 主题文件夹。

每当发布或更新文章时,WordPress 将检查文章的 post_name 是否与 ID 相同。如果不同,它将自动更新 post_name 为 ID。请注意,这将影响所有类型的文章,包括页面和自定义文章类型。如果只想应用于特定类型的文章,可以在 set_postname_as_id 函数内添加适当的条件检查。

比如我用的是 B2 主题,我想替换所有的文章类型,除了 page 页面,可以改成下面这样: