通过WooCommerce产品设置中的自定义复选框禁用添加到购物车按钮

尼克7

我们要防止某些即将推出的产品添加到购物车。

我们希望有一个复选框来选择要防止添加到购物车的特定产品。现在,我们有该复选框并保存代码。

我也发现了这一点:删除Woocommerce中针对特定产品类别的添加购物车按钮,然后https://wisdmlabs.com/blog/the-right-way-to-hide-add-to-cart-button-in-woocommerce/

我不确定,什么是防止添加到特定产品的购物车的最佳方法。有人建议什么是最好的方法吗?

// Add new checkbox to product edit page (General tab)
add_action( 'woocommerce_product_options_general_product_data', 'upcoming_checkbox_to_products' );        
  
function upcoming_checkbox_to_products() {           
woocommerce_wp_checkbox( array( 
'id' => 'custom_upcoming', 
'class' => '', 
'label' => 'Prevent add to cart'
) 
);      
}
  
// -----------------------------------------
// Save checkbox via custom field
  
add_action( 'save_post', 'save_upcoming_checkbox_to_post_meta' );
  
function save_upcoming_checkbox_to_post_meta( $product_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
        return;
    if ( isset( $_POST['custom_upcoming'] ) ) {
            update_post_meta( $product_id, 'custom_upcoming', $_POST['custom_upcoming'] );
    } else delete_post_meta( $product_id, 'custom_upcoming' );
}

// -----------------------------------------
// Prevent add to cart
7uc1f3r
  • 通过代码中添加的注释标签进行说明

要将复选框添加到库存产品选项,请使用:

// Add checkbox
function action_woocommerce_product_options_inventory_product_data() {
    // Checkbox
    woocommerce_wp_checkbox( array( 
        'id'             => '_prevent_add_to_cart_button', // Required, it's the meta_key for storing the value (is checked or not)
        'label'          => __( 'My label', 'woocommerce' ), // Text in the editor label
        'desc_tip'       => false, // true or false, show description directly or as tooltip
        'description'    => __( 'Prevent add to cart', 'woocommerce' ) // Provide something useful here
    ) );
}
add_action( 'woocommerce_product_options_inventory_product_data', 'action_woocommerce_product_options_inventory_product_data', 10, 0 );
        
// Save Field
function action_woocommerce_admin_process_product_object( $product ) {
    // Isset, yes or no
    $checkbox = isset( $_POST['_prevent_add_to_cart_button'] ) ? 'yes' : 'no';

    // Update meta
    $product->update_meta_data( '_prevent_add_to_cart_button', $checkbox );
}
add_action( 'woocommerce_admin_process_product_object', 'action_woocommerce_admin_process_product_object', 10, 1 );

要禁用简单和可变产品的添加到购物车按钮,请使用:

// Is_purchasable (simple)
function filter_woocommerce_is_purchasable( $purchasable, $product ) {
    // Get meta
    $hide_add_to_cart_button = $product->get_meta( '_prevent_add_to_cart_button' );
    
    // Compare
    if ( $hide_add_to_cart_button == 'yes' ) {
        $purchasable = false;
    }

    return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'filter_woocommerce_is_purchasable', 10, 2 );

// Is_purchasable (variable)
function filter_woocommerce_variation_is_purchasable( $purchasable, $product ) {
    $hide_add_to_cart_button = get_post_meta( $product->get_parent_id(), '_prevent_add_to_cart_button', true );

    // Compare
    if ( $hide_add_to_cart_button == 'yes' ) {
        $purchasable = false;
    }

    return $purchasable;
}
add_filter( 'woocommerce_variation_is_purchasable', 'filter_woocommerce_variation_is_purchasable', 10, 2 );

注意:有几种方法可以禁用/删除“添加到购物车”按钮,因此这取决于您要完全隐藏还是禁用按钮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据WooCommerce产品自定义库存状态禁用添加到购物车按钮

在Woocommerce结帐页面中添加到购物车中的产品的复选框字段

根据自定义管理复选框的条件更改商店档案上的“添加到购物车”按钮

自定义添加到购物车按钮以将多个产品添加到购物车中,数量为:woocommerce

单个Woocommerce产品自定义变体添加到购物车按钮

自定义复选框,在WooCommerce购物车页面中添加费用

通过WooCommerce产品设置中的自定义复选框将类添加到WooCommerce页面

在Woocommerce中的产品自定义循环上启用Ajax添加到购物车按钮

在WooCommerce中为特定产品类别自定义“添加到购物车”按钮

将可变产品的自定义属性添加到WooCommerce中的购物车

在可变的单个产品页面中自定义添加到购物车按钮/链接

在将产品添加到购物车之前,需要Woocommerce复选框

Woocommerce结帐:将产品添加到购物车的复选框

更改Woocommerce购物车项目价格的产品自定义复选框选项

将产品添加到Woocommerce单个产品页面上的购物车后,激活自定义按钮

根据产品类型,WooCommerce的“添加到购物车”按钮旁边的“自定义”按钮

禁用 WooCommerce 产品添加到购物车以获得特定的自定义分类术语元值

如果产品已经在WooCommerce购物车中,则禁用“添加到购物车”按钮

自定义特定 WooCommerce 产品类别上的“添加到购物车”按钮

在 WooCommerce 中添加到购物车后更改自定义 Ajax 添加到购物车按钮文本

购物车页面Woocommerce中的自定义“条款和条件”接受复选框

WooCommerce自定义产品类型-多个添加到购物车部分的问题

将自定义产品计算价格添加到Woocommerce购物车

Woocommerce 产品添加到购物车自定义数据 img

WooCommerce添加到购物车,从自定义选择字段中添加第二个产品

根据用户国家和产品 ID 自定义添加到购物车按钮

自定义产品上缺少“添加到购物车”按钮

设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车