如何批量更新/保存所有WordPress帖子和页面?

时间:2019-03-05 作者:JHM

我正在为WordPress使用一个名为Rank Math的免费SEO插件-https://wordpress.org/plugins/seo-by-rank-math/

总的来说,我非常喜欢它。但对于现有WP站点的用户来说,它存在一些问题,这些用户正在从另一个插件(如Yoast)导入数据。

排名数学依赖于要编辑的单个帖子和页面(不是使用WP的批量快速编辑功能,而是打开每个帖子并逐个重新保存)。

例如,作者网站地图就是这样。只有手动打开并重新保存其中一篇文章,然后重新保存网站地图设置,才能将作者页面添加到网站地图。否则,它不会查找和添加现有作者。

在这种情况下,有没有办法模拟点击所有帖子和页面的“更新”按钮而不改变任何实际内容?

谢谢

1 个回复
最合适的回答,由SO网友:Gregory 整理而成

添加到您的函数中。php文件,但使用后不要忘记将其取下!!!!!

function update_all_posts() {
    $args = array(
        \'post_type\' => \'post\',
        \'numberposts\' => -1
    );
    $all_posts = get_posts($args);
    foreach ($all_posts as $single_post){
        $single_post->post_title = $single_post->post_title.\'\';
        wp_update_post( $single_post );
    }
}
add_action( \'wp_loaded\', \'update_all_posts\' );
PS:请确保在执行之前进行数据库备份!!!

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。