如何解决批量发布WordPress草案页面
我正在一个网站上工作,该网站通过WP CSV插件创建了10万个wordpress页面。但是草稿中保留了约6万页。
如何批量发布这些页面?
如果我尝试直接从数据库更改为“ post_status”,则页面的永久链接将保留为空,并重定向到首页。
如果我尝试增加每页的项目数量,然后批量发布;在这种情况下,限制仅保持为最小值400,并且在处理400中也花费了太多时间。
有没有为此优化的解决方案?
解决方法
如果您没有对主机的Shell访问(SSH)并且无法进一步增加PHP的max_execution_time
,则可以执行以下操作。
创建一个PHP文件,例如WP根目录中的bulk_publish.php
,包含以下代码:
<?php
require_once('./wp-load.php');
$post_type = 'page'; // Change,if you need to handle another post type
$posts_per_page = 400; // if this is too much,reduce it
$posts = get_posts([
'post_type' => $post_type,'posts_per_page' => $posts_per_page,'post_status' => ['draft'],'lang' => '',]);
if (count($posts) > 0) {
foreach ($posts as $post) {
wp_update_post([
'ID' => $post->ID,'post_status' => 'publish',]);
}
wp_redirect('/bulk_publish.php');
} else {
echo "Done.";
}
这将一次发布$posts_per_page
页,迭代draft
个状态帖子,然后重定向回bulk_publish.php
。这样可以确保您避免点击max_execution_time
。您可以尝试增加此数字。如果您需要处理6万个页面,则浏览器有时会抱怨重定向过多。在这种情况下,只需刷新一次即可,让它执行下几个迭代,直到再次抱怨。输出“完成”后,就完成了。
然后,从服务器上删除bulk_publish.php
文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。