
WordPress:根据不同的产品ID显示不同的FAQ模块@产品标签页
某些情况下,我们需要在产品详情页的标签栏添加自定义模块比如FAQ,但秉着能不用插件就不用插件的精神,折腾出下面的这段代码:
//本功能需要借助elementor的附属插件Elementor Header & Footer Builder
//本功能可以实现根据不同的产品ID显示不同的FAQ模块,适用于品牌精品站
//本功能只在产品类目ebike下面的产品生效,否则不显示FAQ
function wc_add_faqs_tab( $tabs ) {
global $product;
if ( has_term( 'ebike', 'product_cat', $product->get_id() ) ) {
$product_id = $product->get_id();
$shortcode_id = '7008'; // 默认的FAQ ID
if ($product_id == 6454) {
$shortcode_id = '7013'; // 产品ID为6454时,默认FAQ ID变更为7013
} elseif ($product_id == 6422) {
$shortcode_id = '7018'; // 产品ID为6422时,默认FAQ ID变更为7018
}
$content = do_shortcode('[hfe_template id="' . $shortcode_id . '"]');
if( !empty($content) ) {
$tabs['faqs'] = array(
'title' => 'FAQs',
'priority' => 99,
'callback' => 'wc_faqs_tabs_panel_content',
'content' => $content,
);
}
}
return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'wc_add_faqs_tab' );
function wc_faqs_tabs_panel_content( $key, $tab ){
echo $tab['content'];
}效果图:
