Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从WordPress数据库中删除大量帖子_Php_Mysql_Wordpress - Fatal编程技术网

Php 如何从WordPress数据库中删除大量帖子

Php 如何从WordPress数据库中删除大量帖子,php,mysql,wordpress,Php,Mysql,Wordpress,在WordPress woocommerce网站上,我有一个自定义的帖子类型klaviyo\u shop\u cart==1137717个我不需要的帖子,所以我决定从我的数据库中删除它们。为了做到这一点,我尝试了几个插件,但由于限制,我未能删除它们 我的PHP方法只能处理3000次删除后,我不能增加这些数字。如果我增加它显示500错误 <?php $number = 3000 ; $mycustomposts = get_posts( array( 'p

在WordPress woocommerce网站上,我有一个自定义的帖子类型
klaviyo\u shop\u cart
==1137717个我不需要的帖子,所以我决定从我的数据库中删除它们。为了做到这一点,我尝试了几个插件,但由于限制,我未能删除它们

我的PHP方法只能处理3000次删除后,我不能增加这些数字。如果我增加它显示500错误

<?php
$number = 3000 ;
$mycustomposts = get_posts( 
        array( 
        'post_type' => 'klaviyo_shop_cart', 
        'numberposts' => $number
        )
    );

    foreach( $mycustomposts as $mypost ) {
     // Delete's each post.
    wp_delete_post( $mypost->ID, true);
    // Set to False if you want to send them to Trash.
    }
    echo '<h3 style=:"color:red;"> DELETED!</h3>' . $number ;

?>
这是我从你家找到的


大量的post可以一次删除50000个post delete上的批处理操作。

没有人可以对MySQL服务器的功能说任何话。这是个奇怪的问题。什么是“限制”?如果您的服务器运行缓慢,这将需要很长时间才能完成。如果您可以只读锁定站点,您可以尝试拉下数据库,在更快的计算机上本地清理,然后上载清理结果。我的服务器是专用服务器,数据库太大,无法在本地完成。您的问题不清楚。您是否声明您有500篇自定义
post_类型的文章
,并且希望删除包含上述SQL语句的文章?或者,您正在请求帮助修改您发布的SQL语句,以便一次只删除500篇此类文章?至于性能,这完全取决于您的服务器,正如其他人在其他评论中指出的那样。@JustinR。我已经更新了我的问题
DELETE FROM wp_posts WHERE post_type='klaviyo_shop_cart';
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT id FROM wp_posts);