将“相关产品”添加到WooCommerce的自定义选项卡中
问题描述:
我在添加“相关产品”到选项卡并使其适用于使用短代码的帖子时遇到问题。这里是一个的被放置在我的functions.php将“相关产品”添加到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);
}
/*
* Place content in custom tab (related products in this sample)
*/
function woo_custom_product_tab_content() {
woocommerce_related_products();
}
add_filter('woocommerce_product_tabs', 'woo_custom_product_tab');
下面是我收到的错误:
Fatal error: Call to a member function get_upsells() on a non-object in public_html/wp-content/plugins/woocommerce/templates/single-product/up-sells.php on line 25
答
我认为你需要使用全局$产品对象与WC_Product get_related()
method避免这种错误...
然后将溶液可能是:
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;
$product->get_related();
}
add_filter('woocommerce_product_tabs', 'woo_custom_product_tab');
由于这是未经测试,我不保证什么...
代码放在你的活动子主题(或主题)的function.php文件。或者也可以在任何插件php文件中使用。
这工作!然而,这只是与短代码一起工作,但不适用于woocommerce页面......任何解决方案? – SlyMurphy