2017-12-09 12 views
0

選択した商品カテゴリに応じて、単一商品ページのデフォルト商品DESCRIPTION TABの名前を別の名前に変更したいと考えていました。Woocommerce - 選択した商品カテゴリに応じて商品名を変更

私が最初にデフォルトの説明]タブの名前を変更するには、以下のWC機能から出てきた

add_filter('woocommerce_product_tabs', 'woo_rename_tabs', 98); 
function woo_rename_tabs($tabs) { 

    $tabs['description']['title'] = __('More Information'); // Rename the description tab 

    return $tabs; 

} 

は今、私が達成したいものを製品はカテゴリ「ブック」に割り当てられている場合ということです、そして、説明タブの名前が「この本について」に変わります。 次に商品がカテゴリ「動画」に割り当てられている場合、タブは「この動画について」に変更され、商品が他のカテゴリに割り当てられている場合、タブ名は「詳細情報」に変更されます。

コードを修正しようとした、これは私が思い付いたものです:

add_filter('woocommerce_product_tabs', 'woo_rename_tabs', 98); 
function woo_rename_tabs($tabs) { 

    global $product, $woocommerce; 

    if (is_product_category()) { 

     if (is_product_category('books')) { 
      $tabs['description']['title'] = __('About this book'); 
     } elseif (is_product_category('videos')) { 
      $tabs['description']['title'] = __('About this video'); 
     } else { 
      $tabs['description']['title'] = __('More Information'); 
     } 
    } 

    return $tabs; 
} 

しかし残念ながら、それは、タブ名はまだ「説明」私が間違っているのは何

あるとして動作していないようですか?

+0

else文の個数を入れ子にしていた最初の 'if(is_product_category()){}'を削除しました。今、タブ名が "More Information"に変更されました。 "書籍"と "ビデオ"以外..私のテスト製品はカテゴリ "書籍" –

答えて

1

変更:

is_product_category('books') to has_term('books', 'product_cat') 
is_product_category('videos') to has_term('videos', 'product_cat') 

、それが動作するはずです。

関数is_product_categoryは、商品カテゴリページを表示している場合にのみtrueを返します。しかし、あなたは単一の製品ページにいるので、FALSEを返します。

+0

にありますそれは、ありがとう! –

関連する問題