在常规单一产品页面的自定义选项卡中显示“相关产品”

问题描述:

在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(); 
} 

现在的问题是,我得到了正常的产品单页空白标签。

我怎样才能使它在普通产品单页上工作呢?

感谢

为了使它也行你需要添加一些条件和重用woocommerce_related_products()只是单一产品单页产品页面。

所以,你的代码将是现在:

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