通过SQL批量更新URL集

时间:2018-05-30 作者:radethdart

我检查了多个问题,似乎找不到答案。

如何更新URL列表,使其在永久链接末尾包含“-google”,或将URL设置为自定义URL。我的URL列表是100多个,我知道URL是什么,应该是什么。

For example:

https://examplesite.com/customer/customer-name
更改为:

https://examplesite.com/customer/google-customer-name

I have already updated the URLs in the post_content using this below:

UPDATE wp_posts SET post_content = REPLACE (post_content,\'https://examplesite.com/customer/customer-name\',\'https://examplesite.com/customer/google-customer-name\');
这对帖子内容有效,但它不是更新这些页面永久链接的解决方案,这正是我所需要的。

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

好的,让我们假设您在某个数组中有这些URL(如果没有,我想您可以使用任何开发人员文本编辑器轻松地进行准备)。我们称之为数组$slugs 假设它的定义是这样的:

$slugs = array(
    \'customer-name\' => \'google-customer-name\',
    ...
);
所以那里只有鼻涕虫。

因此,现在您必须修改帖子:

global $wpdb;
foreach ( $slugs as $old => $new ) {
    $wpdb->update(
        $wpdb->posts,
        array( \'post_name\' => $new ),
        array( \'post_name\' => $old )
    );
}
这将改变这些帖子的slug,从而改变permalinks。

SO网友:rits

对于永久链接,您是否尝试通过管理面板重置永久链接设置?e、 g.在设置中,从Post nameNumeric 然后回到Post name.

结束

相关推荐

load post data into mysql

我有几百行产品数据,这些数据将作为帖子显示在wordpress网站上。我确信有一种方法可以将所有这些数据直接加载到数据库中,然后让管理员和;前端UI将这些作为新帖子填充。但据我所知,帖子的各个方面都被填充/存储在不同的表中。我应该将这些数据加载到哪些表中,以避免从管理UI手动创建每个表?