2017-07-28 6 views
0

すべてのWooCommerceカテゴリに対してサムネイルオプションをなしに設定する方法はありますか?WooCommerceのすべての商品カテゴリのサムネイルを解除する

は、私は今、400の以上のカテゴリからサムネイルを削除し、道時間よりも私がそれをしたい私を取るだろう、それを一つずつやって...

は、私は私のメディアライブラリから画像を削除しようとしたが、しなければなりません私のカテゴリにはプレースホルダ画像はなく、管理者の製品カテゴリーの編集ページの画像には「サムネイル」と表示されます。

enter image description here

私は、これはPHP、SQL、またはプラグインの問題であるかどうかわからないんだけど、私はそれらのいずれかを試すことをいとわないだろう。

おかげ

答えて

1

商品カテゴリのすべての登録済みサムネイルIDを削除するには、この機能を1回実行することができます。 より前にバックアップしてください。 (この機能は管理ユーザーの役割でのみ機能します)。ここで

はそのコードです:

function remove_product_categories_thumbnail_id() 
{ 
    // Working only for admin user roles 
    if(! current_user_can('administrator')) : return; 

    global $wpdb; 

    $table_termmeta = $wpdb->prefix . "termmeta"; 
    $table_term_taxo = $wpdb->prefix . "term_taxonomy"; 

    # Get ALL related Product category WP_Term objects (that have a thumbnail set) 
    $results = $wpdb->get_results(" 
     SELECT * FROM $table_termmeta 
     INNER JOIN $table_term_taxo ON $table_termmeta.term_id = $table_term_taxo.term_id 
     WHERE $table_termmeta.meta_key LIKE 'thumbnail_id' 
     AND $table_term_taxo.taxonomy LIKE 'product_cat' 
    "); 

    // Storing all table rows ID related Product category (that have a thumbnail set) 
    foreach($results as $result) 
     $meta_ids_arr[] = $result->meta_id; 

    // Convert the arry in a coma separated string of IDs 
    $meta_ids_str = implode(',', $meta_ids_arr); 

    # DELETE ALL thumbmails IDs from Product Categories 
    $wpdb->query(" 
     DELETE FROM $table_termmeta 
     WHERE $table_termmeta.meta_id IN ($meta_ids_str) 
    "); 
} 

## RUN THE FUNCTION ONCE ## 

remove_product_categories_thumbnail_id(); 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルやも任意のプラグインファイルになります。

サイト(バックエンドまたはフロントエンド)の任意のページを参照してスクリプトを実行します。これでこのコードを削除できます。

+0

感謝のように働いた、ありがとう! ** LoicTheLifesaver ** –

0

do_action('woocommerce_before_subcategory_title', $category);これは今、あなたは空を返すことを強制する、いくつかのことを行うことができ、製品カテゴリにcategory_thumbnailを追加します。

このアクションコールを削除します。

remove_action('woocommerce_before_subcategory_title', 'woocommerce_subcategory_thumbnail', 10); 

またはちょうどcontent-product_cat.phpテンプレートをオーバーライドすることでdo_action('woocommerce_before_subcategory_title', $category);をコメントアウトして

add_action('woocommerce_before_subcategory_title', 'woocommerce_subcategory_thumbnail', 10); 

関連する問題