如何从 functions.php 内的 Shortcode Hook 中排除产品类别 ID - WooCommerce

How to exclude Product Category ID from Shortcode Hook inside functions.php - WooCommerce

我正在尝试 exclude/disable 我已添加到特定产品类别的 woocommerce 单一产品模板中的简码。

functions.php中的代码是这样的:

add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 );
 
function sizeguidemen() {
    echo do_shortcode('[elementor-template id="66083"]');
}

我们如何exclude/disable特定产品类别的简码?

我想应该是 array( 'product_cat', '65' );?

我是 php 的新手并尝试这样做,但没有用。 :/

条件逻辑允许您仅在满足特定条件时运行您的函数。

在您的情况下,您正在查看单个产品页面并且仅当类别为 'whatever ID' 时才需要 运行 函数。

通过查看 WooCommerce Conditional Logic – Tags, Examples & PHP 教程,特别是“PHP:如果产品属于某个类别,则执行某些操作”部分,您的代码将变为以下内容,其中“123”是您希望其适用的类别 ID:

add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 );
 
function sizeguidemen() {
    if ( has_term( 123, 'product_cat' ) ) {
        echo do_shortcode('[elementor-template id="66083"]');
    }
}

您甚至可以使用类别“slug”而不是“123”,以及这些类别的数组,例如[123, 456, 789] 或 ['tables', 'chairs']