• 已解决 自助渠道

    (@自动插座)


    两天前,我不得不删除我所有的WC订单(超过2000个订单),因为我想彻底导入订单。

    问题是,当您有大量订单时,每次删除每50个订单可能会损失数小时,然后再进行相同的垃圾清理,因为在同一请求中超过此值时,WP/Server会给您一个错误。

    有些人建议编辑服务器设置,如果您不是所有者,则无法编辑这些设置……因此,我与您分享解决方案,并希望能节省您的时间:

    1–将所有订单视为“垃圾”:

    使用此sql请求:更新wp_posts set post_status='trash'其中post_type='shop_order';

    您可以在phpMyAdmin上执行它,如果您有一个允许您执行请求的DB插件(如“WP-DBManager”),也可以从DB插件执行它。

    2–清理垃圾

    为此,我使用了插件“快速清空垃圾桶”。你只需要去Woocomerce垃圾桶和“清空垃圾”集团。

    注意:如果你有很多订单要清理,可能是在点击“清空垃圾桶”几秒钟后出现错误页面。¡不要惊慌! 在插件清除了大约1000或2000个订单后,网络会给你这个错误。您只需返回订单页面,就会看到1K-2K订单的垃圾已被清理干净。如果您有更多垃圾订单,请重复操作,单击“清空垃圾桶”……直到您彻底清理垃圾为止。

    就这些!您可以导入保存的订单或接收新订单……节省的时间可以用于其他用途。

    希望这能帮助别人。

查看8条回复-1条到8条(共8条)
  • 螺纹起动器 自助渠道

    (@自动插座)

    Postdata:您需要根据表的前缀更改“wp_posts”的前缀。

    我建议使用WP-CLI,您可以运行一个命令来删除特定类型的所有帖子,如果您添加--力指令,这完全避免了垃圾。

    请参见:

    https://developer.wordpress.org/cli/commands/post/delete/

    例如,以下命令将删除所有店铺订单帖子,完全绕过垃圾箱。

    wp post删除$(wp post-list--post_type='shop-order'--format=ids)--force

    先在测试站点试试这个!

    indrek(_k)

    (@indrek_k)

    在前一篇文章中有几个打字错误。我在WP CLI v2.3.0中实际使用的命令是:

    wp post删除$(wp post-list--field=ID--post_type=“shop_order”)--force

    卢克·卡瓦纳

    (@lukefiretoss)

    如果您有很多订单需要删除,那么可以使用以下WP-CLI命令;

    wp帖子列表--field=ID--post_type=shop_order--posts_per_page=2000|xargs wp post delete--force

    Koenjah公司

    (@koenjah)

    非常感谢您回来与世界分享这一点。通过分享这个,你从荷兰救了一些随机的家伙一段时间!

    谢谢您!!

    • 此回复在4年5个月前被修改科恩贾.
    杜氏菌属

    (@dusemedia)

    谢谢分享!

    神秘303

    (@mystery303)

    有人知道这个方法是否也会删除所有相关的post-meta,或者只是从管理区域中清除?

    有人告诉我,woocommerce订单将元数据写入多个表,并希望确保我们不会留下数据。

    我认为,从技术上讲,内容可能是孤立的内容,无论如何都可以通过清理来删除,但最好尽可能高效地删除。

    (@danmonells)

    谢谢。为我工作。

查看8条回复-1条到8条(共8条)
  • “提示:如何删除所有订单并节省时间”主题不适用于新回复。