WordPress 设置文章 post_name 与 ID 同步
内容提要
本文介绍了如何在WordPress中将文章的`post_name`字段默认设置为与文章ID相同,以避免中文URL的不协调。通过SQL语句批量替换已发布文章的`post_name`,并在`functions.php`文件中添加自定义功能,确保每次发布或更新文章时自动更新`post_name`,同时提供条件检查以排除特定文章类型。
关键要点
-
WordPress中的`post_name`字段默认使用文章标题,可能导致中文URL不协调。
-
可以通过SQL语句批量替换已发布文章的`post_name`为文章ID:`UPDATE wp_posts SET post_name = ID;`。
-
在`functions.php`文件中添加自定义功能,以确保每次发布或更新文章时,`post_name`自动设置为与ID相同。
-
提供条件检查以排除特定文章类型,例如不对`page`类型的文章进行修改。
延伸问答
如何在WordPress中将文章的post_name设置为与ID相同?
可以通过SQL语句`UPDATE wp_posts SET post_name = ID;`批量替换已发布文章的post_name为ID。
在WordPress中如何自动更新post_name?
在`functions.php`文件中添加自定义功能,使用`add_action('save_post', 'set_postname_as_id');`来确保每次发布或更新文章时,post_name自动设置为ID。
如何排除特定文章类型不修改post_name?
在`set_postname_as_id`函数中添加条件检查,例如`if ($post->post_type == 'page') { return; }`来排除`page`类型的文章。
为什么要将post_name设置为与ID相同?
这样可以避免中文URL的不协调,使得URL更加简洁和一致。
如何在WordPress中修改post_name的默认行为?
通过在`functions.php`中添加自定义代码,可以修改post_name的默认行为,使其与文章ID相同。
执行SQL语句后,post_name会有什么变化?
执行SQL语句后,所有已发布文章的post_name将被更新为其对应的文章ID。