我需要在产品页面上添加自定义选项卡,但我希望它仅针对某些产品 ID 显示它。
这是我在前端添加自定义选项卡的代码。
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
return $tabs;
}
然后我也应该添加下面的函数来显示内容。
function woo_new_product_tab_content() {
echo '<p>some text</p>';
}
但现在这些函数适用于所有产品 ID。我只想为某些产品 ID 加载这两个函数,有人可以帮助我吗?
我厌倦了在这两个功能上添加if(is_product() && get_the_id() == 8)
,但$tabs
不会出现在其他产品 ID 页面上,(在产品 ID "8"上$tabs
运行良好(
该代码的问题即将忘记返回$tabs
if(is_product()) {
//if(is_product())) {
return $tabs;
}
return $tabs;
}
所以最终的代码可能是这样的。
function woo_new_product_tab( $tabs ) {
if(condition) {
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
return $tabs;
}
return $tabs;
}