使用 Wordpress 自定义字段隐藏特定页面的 WooCommerce 描述和附加信息和评论选项卡

Hide For Specific Pages WooCommerce Description & Additional information & Reviews Tabs Using Wordpress Custom Fields

我正在尝试创建一个系统,通过该系统我可以删除产品标签,但只能在某些单个产品页面上删除,并且我需要定义哪些页面要使用 wordpress 自定义字段隐藏其产品标签。我要调用的自定义字段名称:'hide_product_page_tabs' 定义值必须是“1”或“0”才能表示是或否。

我在我选择的 woocommerce 产品页面上创建了一个新的 Wordpress 自定义字段。

自定义字段名称:hide_product_tabs

自定义字段值:在自定义字段中定义“1”以触发代码,或定义“0”等其他任何内容以将其关闭。

我把我的 child 主题放在 functions.php :

/* WooCommerce hide product page tabs - hide_product_tabs */
/**
 * Remove existing tabs from single product pages.
 * https://gist.github.com/mikejolley/c75083db7f6110cbdbe4808e3af36fe3
 */
 function remove_woocommerce_product_tabs( $tabs ) {
    unset( $tabs['description'] );
    unset( $tabs['reviews'] );
    unset( $tabs['additional_information'] );
    return $tabs;
}
function hide_product_page_tabs() {
        global $post;
        $product_id = $post->ID;
        $HideProductTabsValue =  get_post_meta($product_id,'hide_product_tabs',true);
        if (strpos($HideProductTabsValue, '1') !== false) {
        return add_filter( 'woocommerce_product_tabs', 'remove_woocommerce_product_tabs', 98 );
        }
}       
add_action('woocommerce_single_product_summary','hide_product_page_tabs');

欢迎任何提示!

根据您的描述,没有看到您为此使用的代码,您可以简单地使用以下内容

function hide_product_tabs( $tabs ) {

    // Get the global product object
    global $product;

    // Get product id
    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

    $HideProductTabsValue = get_post_meta( $product_id, 'hide_product_tabs', true);

    // 1 = true
    if( $HideProductTabsValue == true ) {
        unset( $tabs['description'] ); // (Description tab)  
        unset( $tabs['reviews'] ); // (Reviews tab)
        unset( $tabs['additional_information'] ); // (Additional information tab)       
    }

    return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'hide_product_tabs', 98 );