WordPress:根据不同的产品ID显示不同的FAQ模块@产品标签页

Posted by: Fengjiajun Comments: 0

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'];
}

效果图: