禁用 WooCommerce 中没有特定标签的产品购买

问题描述 投票:0回答:1
/*
 * Disable buying products from specific category and tag
 *
 * @author Misha Rudrastyh
 * @url https://rudrastyh.com/woocommerce/make-products-non-purchasable.html#specific-categories
 */
add_filter( 'woocommerce_is_purchasable', 'misha_catalog_mode_on_for_category', 10, 2 );
function misha_catalog_mode_on_for_category( $is_purchasable, $product ) {
    
    // Second – check product tags
    if( has_term( 'available', 'product_tag', $product->get_id() ) ) {
        $is_purchasable = true;
    }
    
    return $is_purchasable;
}

我只想为带有名为

available
标签的产品启用“添加到购物车”按钮,并在 WooCommerce 上的其他产品上隐藏“添加到购物车”按钮。

我尝试在具有可用标签的选定产品上启用“添加到购物车”按钮,但它不会禁用其他产品。

php wordpress woocommerce product taxonomy-terms
1个回答
1
投票

要使除带有可用标签的产品之外的所有产品在 WooCommerce 上不可用,您需要先将 is purchasable 设为 false,然后仅在满足您的条件时将其设为 true。

/*
 * Disable buying products from specific category and tag
 *
 * @author Misha Rudrastyh
 * @url https://rudrastyh.com/woocommerce/make-products-non-purchasable.html#specific-categories
 */
add_filter( 'woocommerce_is_purchasable', 'misha_catalog_mode_on_for_category', 10, 2 );
function misha_catalog_mode_on_for_category( $is_purchasable, $product ) {
    $is_purchasable = false;
    // Second – check product tags
    if( has_term( 'available', 'product_tag', $product->get_id() ) ) {
        $is_purchasable = true;
    }
    
    return $is_purchasable;
}
© www.soinside.com 2019 - 2024. All rights reserved.