2017-08-22 17 views
1

製品にカテゴリが設定されていない場合にのみ、単一の製品ページで関連する製品タブを非表示にする方法があるのでしょうか。WooCommerce - 製品にカテゴリがない場合は、関連する製品を非表示にします。

これは私が試したものです:

global $product; 

// Return the product categories 
$categories = $product->get_categories(', ', ' ' . _n(' ', ' ', $cat_count, 'woocommerce') . ' ', ' '); 

if(empty($categories)){ 
     remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); 
    } 

これはのfunctions.phpに追加されましたが、それは動作しません。誰でも良いアイデアがありますか?

答えて

1

はい、可能です。以下のコードを試してください。

function remove_related_product() 
{ 
    global $product; 

    $product_id = method_exists($product, 'get_id') ? $product->get_id() : $product->id; 
    $terms = wp_get_post_terms($product_id, 'product_cat'); 

    if(empty($terms)) 
    { 
     remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); 
    } 
} 
add_action('woocommerce_after_single_product_summary', 'remove_related_product',10); 

アクティブな子テーマ(またはテーマ)のfunction.phpファイルにコードが入ります。

このコードはWooCommerce 3+で動作確認されています。

関連する問題