2016-12-07 21 views
2

WooCommerceでは、「関連商品」をカスタムタブに追加し、ショートコードで使用される投稿に対応させるために以下のコードを使用します。[product_page id="99"]ページと投稿の働いている私はのfunctions.phpに使用通常の単一商品ページのカスタムタブに「関連商品」を表示

コード:

remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); 
/* 
* Register custom tab 
*/ 
function woo_custom_product_tab($tabs) { 

    $custom_tab = array( 
     'custom_tab' => array( 
      'title' => __('Custom Tab','woocommerce'), 
      'priority' => 9, 
      'callback' => 'woo_custom_product_tab_content' 
     ) 
    ); 
    return array_merge($custom_tab, $tabs); 
} 
add_filter('woocommerce_product_tabs', 'woo_custom_product_tab'); 

/* 
* Place content in custom tab (related products in this sample) 
*/ 
function woo_custom_product_tab_content() { 
    global $product; 
    $product->get_related(); 
} 

は、今の問題は、私は通常の製品単一ページ内の空白のタブを取得することです。

普通の製品の1ページでも同じように動作させるにはどうすればよいですか?それはあなたには、いくつかの条件を追加すると、ちょうど単一の製品ページのwoocommerce_related_products()を再利用する必要がある単一の製品ページでも動作させるために

おかげ

答えて

1

だからあなたのコードでは、今のようになります

remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); 
/* 
* Register custom tab 
*/ 
function woo_custom_product_tab($tabs) { 

    $custom_tab = array( 
     'custom_tab' => array( 
      'title' => __('Custom Tab','woocommerce'), 
      'priority' => 9, 
      'callback' => 'woo_custom_product_tab_content' 
     ) 
    ); 
    return array_merge($custom_tab, $tabs); 
} 

/* 
* Place content in custom tab (related products in this sample) 
*/ 
function woo_custom_product_tab_content() { 
    global $product; 
    if(!is_product()) 
     $product->get_related(); 
    else 
     woocommerce_related_products(); 
} 

これは、単一のwoocommerce通常の製品ページにも、ページ上の製品のショートのために働くと片側に投稿しなければなりません。

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

+0

ありがとうございました。あなたのWooCommerceに関する知識をお寄せいただきありがとうございます。あなたは様々な質問に非常に役立っています! – SlyMurphy

関連する問題