我尝试使用此查询更改特定帖子的post slug:
UPDATE wp_posts SET post_name = replace(post_name, 'make-me-happy','make-me-happy-2')
它有效,但是我没有通过wp-admin仪表板重定向到新的slug。
答案 0 :(得分:1)
如果想要获得autoredirect,您还需要在wp_postmeta
表格中插入您的查询以外的帖子旧帖子。您的查询:
UPDATE wp_posts SET post_name = replace(post_name, 'make-me-happy','make-me-happy-2');
查询获取autoredirect:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) VALUES (1, '_wp_old_slug', 'make-me-happy');
post_id
是帖子的id
,slug
您更改了该帖子。 meta_value
是您的帖子slug
。
WordPress使用挂钩到操作wp_old_slug_redirect
的函数template_redirect
进行重定向。
答案 1 :(得分:0)
尝试将单个帖子的301重定向代码行添加到.htaccess文件中。
在WordPress安装根文件夹.htaccess文件中添加以下内容:
RewriteEngine On
Redirect 301 /make-me-happy/ https://yoursite.com/make-me-happy-2/