我尝试在WordPress的post_title和post_name(slug)中替换2023到2024,如下所示:
UPDATE `wp_posts`
SET post_title = REPLACE(post_title, '(2023)', '(2024)'), post_name = REPLACE(post_name, '-2023', '-2024')
WHERE (post_title LIKE '%(2023)%') and (post_type = 'post');
字符串
然而,执行查询后,虽然表中的数据发生了变化,但在WP Jmeter 板中,帖子的标题和slug没有变化。为什么?
我已尝试清除该高速缓存,但不起作用。
更新:
最后,我使用WP Migrate的find & replace功能将所有WP表中的所有“(2023)”替换为“(2024)”,并且它可以工作。
2条答案
按热度按时间os8fio9y1#
对我很有效
字符串
此查询应该将post_title和post_name列中所有出现的'2023'替换为'2024'。LIKE条件中的%允许在标题或slug中的任何位置匹配'2023'。
我建议在
$wpdb->posts
中使用全局$wpdb对象,而不是直接引用wp_posts
bttbmeg02#
如果您没有在WordPress中禁用修订,您还必须在查询中包含“修订”post_type:
字符串