如何使用WordPress内置函数修改文章别名(Post Slug)
修改WordPress文章链接中的自定义部分
你要修改的是文章的slug(别名),用WordPress内置功能或代码就能实现,分两种场景处理:
1. 修改单篇已发布文章的slug
- 后台手动操作:进入文章编辑页面,找到「永久链接」区域,点击「编辑」,直接把
mypost替换为yourpost后保存。 - 代码批量/自动修改:使用
wp_update_post()函数,示例代码如下:
// 替换为你的目标文章ID $post_id = 123; $post_data = array( 'ID' => $post_id, 'post_name' => 'yourpost' // 设置新的slug ); wp_update_post($post_data);
2. 自动替换新文章的slug规则
如果需要让新文章的slug自动替换指定内容,添加过滤器到主题的functions.php文件:
add_filter('sanitize_title', 'custom_replace_slug', 10, 3); function custom_replace_slug($title, $raw_title, $context) { // 仅针对文章类型生效,可按需调整post_type if ($context === 'save' && get_post_type() === 'post') { $title = str_replace('mypost', 'yourpost', $title); } return $title; }
注意:修改slug后,WordPress默认会自动生成旧链接到新链接的301重定向,但若批量修改大量文章,建议检查重定向是否正常生效。
内容的提问来源于stack exchange,提问作者alancc
相关产品推荐
相关产品推荐

