it-source

my sql 쿼리를 사용하여 woocommerce에서 완료된 주문을 삭제하는 방법

criticalcode 2023. 3. 7. 21:33
반응형

my sql 쿼리를 사용하여 woocommerce에서 완료된 주문을 삭제하는 방법

하나의 SQL 쿼리를 사용하여 완료된 주문을 woocommerce에서 모두 삭제하고 싶습니다.왜냐면, 난 내 일에 문제가 있거든WordPress Dashboard백엔드에서 완료된 주문을 볼 수 없습니다.점점 희어진다.있습니다7,823 Completed Orders그래서 제가 화이트 페이지를 본 게 맞았으면 좋겠어요.Completed Orders.

다 삭제할 수 있는 방법이 있나요?Completed OrdersMySQL 쿼리를 사용합니다.그래서 내가 그걸 작동시킬 수 있도록PHPMYADMIN.

제안해 주세요.

저의 솔루션은 모든 주문을 삭제하는 것입니다(데모 데이터가 있는 상점에서 새로운 사이트로 이동하는 경우).이 작업은 다음 SQL 쿼리를 사용하여 수행할 수 있습니다.

DELETE FROM wp_woocommerce_order_itemmeta;
DELETE FROM wp_woocommerce_order_items;
DELETE FROM wp_comments WHERE comment_type = 'order_note';
DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type = 'shop_order' );
DELETE FROM wp_posts WHERE post_type = 'shop_order';

네이티브 Woocommerce 기능을 최대한으로 사용하려면 다음과 같이 수행합니다.SQL을 사용하여 모든 주문 휴지통으로 이동:

UPDATE wp_posts SET post_status = 'trash' WHERE post_type = 'shop_order';

다음으로 Woocommerce -> Orders -> Trash 순으로 이동하여 Empty Trash를 클릭합니다.

이 문제를 해결하려면 먼저 모든 관련 주문을 휴지통에 넣어야 합니다.

UPDATE wp_posts SET post_status = 'trash' WHERE post_type = 'shop_order';

[ Empty Trash ](휴지통 비우기)를 눌렀을 때 투고가 너무 많아 PHP 오류가 발생하면 대신 다음 SQL을 실행하여 투고를 제거할 수 있습니다.

DELETE FROM wp_posts
WHERE post_type = 'shop_order' 
AND post_status = ‘trash’

Woocommerce 오더는post테이블,postmeta테이블,woocommerce_order_items,그리고.woocommerce_order_itemmeta를 참조할 수 있습니다.주문의 다양한 부분이 서로 다른 테이블에 저장됩니다.또한 주문상태는 를 통해서 관리됩니다.taxonomies주문 상태 목록을 저장합니다.이 쿼리를 작성하거나 작성하려는 사용자는 최소 5~6개의 쿼리를 작성하거나 단일 대형 조인 쿼리를 작성해야 합니다.

따라서 WooCoommerce를 제거하는 것이 좋을 것 같습니다.만약 큰 제품 셋업이 없다면 말이죠.이 작업을 수행하려면 이 링크를 따라가면 데이터가 삭제됩니다.

이 스니펫은 https://wordpress.org/support/topic/tip-how-to-delete-all-your-orders-and-save-you-time/ #post-timeout90285의 WP CLI에서 사용했을 뿐입니다.

경고: 그러면 모든 주문이 삭제됩니다.고객님의 케이스에 맞게 조정해야 합니다(완료만). https://developer.wordpress.org/cli/commands/post/list/를 참조하십시오.

wp post list --field=ID --post_type=shop_order --posts_per_page=2000 | xargs wp post delete --force

공식 WooCommerce Subscriptions 플러그인과 함께 작동하여 관련 구독도 삭제되었습니다.

wp cli를 사용하여 woocommerce에서 실패한 주문을 삭제하기 위해 검색하던 중 이 게시물을 발견했는데 구글에서 여기로 보내왔습니다.앞으로 필요할지도 모르는 분들을 위해 솔루션을 추가하겠습니다!

이것은 WP CLI 툴을 사용하면 간단하게 실행할 수 있습니다.

wp post delete $(wp post list --post_type=shop_order --post_status=wc-completed --format=ids)

「쓰레기」를 .--force설명의 마지막까지를 참조해 주세요.

다른 주문 상태를 삭제하려면 다음 옵션을 사용할 수 있습니다.

  • wc-displictionsc-displict.
  • wc-displictionsc-displict.
  • wc 처리
  • wc-보류 상태
  • wc-displictionsc-displict.
  • wc-displictionsc-displict.
  • wc-displictionsc-displict.

완료 상태의 주문을 삭제하려면 다음 코드만 사용해야 합니다.

UPDATE wp_posts 
SET post_status = 'trash' 
WHERE post_type = 'shop_order'
AND post_status = 'wc-completed'

이 코드는 주문 데이터의 시스템 또는 기반이 완전히 제거되는 것은 아닙니다. 데이터를 휴지통으로 보냅니다.


주문을 완전히 삭제하시겠습니까? 다음 항목으로 이동해야 합니다.

[ Woocommerce ]> [ Orders ]> [ Trash ]를 선택하여 [Empty Trash]을 클릭합니다.

여기에 이미지 설명 입력


다른 주문을 삭제하려면 Woocommerce에 존재하는 다른 상태만 알아야 합니다.

  1. wc-displictionsc-displict.
  2. wc-displictionsc-displict.
  3. wc 처리
  4. wc-보류 상태
  5. wc-displictionsc-displict.
  6. wc-displictionsc-displict.
  7. wc-displictionsc-displict.

절 IN('status') 내에서 지정됩니다.

UPDATE wp_posts 
SET post_status = 'trash' 
WHERE post_type = 'shop_order'
AND post_status IN ('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-cancelled', 'wc-refunded', 'wc-failed')

언급URL : https://stackoverflow.com/questions/24904413/how-to-delete-completed-orders-in-woocommerce-using-a-my-sql-query

반응형