簡體   English   中英

在 Woocommerce 中批量刪除產品變體圖片

[英]Bulk remove product variation images in Woocommerce

在 Woocommerce(在我的情況下為 3.5.1)中,是否可以刪除所有特定於變體的圖像,因此當用戶在產品頁面中選擇變體時圖像不會改變?

我要這個

在此處輸入圖片說明

而不是那個

在此處輸入圖片說明 在整個網站。

您可以批量刪除所有產品變體圖像,例如使用 phpMyAdmin 進行直接 SQL 查詢(在備份數據庫之前)

UPDATE wp_postmeta as pm
JOIN wp_posts AS p ON pm.post_id = p.ID
SET pm.meta_value = ''
WHERE p.post_status = 'publish'
AND p.post_type = 'product_variation'
AND pm.meta_key = '_thumbnail_id'

或者,您可以在自定義內置函數中使用此輕量級 SQL 查詢來刪除所有變體圖像(或僅選擇相關的父變量產品 ID)

function remove_all_variations_images( $parent_id = 0 ){
    global $wpdb;

    $one_parent = $parent_id === 0 ? "" : "AND p.post_parent = $parent_id";

    return $wpdb->query("
        UPDATE {$wpdb->prefix}postmeta as pm
        JOIN {$wpdb->prefix}posts AS p ON pm.post_id = p.ID
        SET pm.meta_value = ''
        WHERE p.post_status = 'publish'
        AND p.post_type = 'product_variation'
        AND pm.meta_key = '_thumbnail_id' 
        $one_parent
    ");
}

代碼位於活動子主題(或活動主題)的 function.php 文件中。

用法(在備份數據庫之前)

  1. 對於批量的所有變體圖像,您將添加到您的 function.php 文件中:

     remove_all_variations_images();

    然后保存並瀏覽您網站的任何頁面。 然后在完成后將其刪除。


  1. 對於一種特定的可變產品(假設可變產品 ID 72):

     remove_all_variations_images(72);

    然后保存並瀏覽您網站的任何頁面。 然后在完成后將其刪除。

SQLLite 版本非常適合我。 謝謝! 節省了我從 500 多種產品中手動刪除變體圖片的時間! 對於任何想知道的人,這就是我所做的。

  1. 登錄到 WP 后端。
  2. 通過外觀>主題編輯器>functions.php找到functions.php文件(您可以通過單擊左側列表中的名稱來選擇文件。(在我的情況下)
  3. 一直滾動到底部,粘貼@LoicTheAztec 給出的函數,就在php 代碼中。
  4. 保存文件並刷新站點。 瞧! 圖片不見了!
  5. 刪除了該功能,使其不再繼續運行,並再次保存該文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM