批量更新Wordpress post slug并通过SQL Query重定向到新的slug

时间:2018-03-29 20:19:45

标签: mysql wordpress

我尝试使用此查询更改特定帖子的post slug:

UPDATE wp_posts SET post_name = replace(post_name, 'make-me-happy','make-me-happy-2')

它有效,但是我没有通过wp-admin仪表板重定向到新的slug。

2 个答案:

答案 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是帖子的idslug您更改了该帖子。 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/