如何在可变产品的商店循环页面上添加ajax添加到购物车按钮?

时间:2020-06-22 04:44:19

标签: php wordpress woocommerce hook-woocommerce

我正在尝试删除默认的选择选项按钮,并在我的商店页面中添加“添加到购物车”按钮。我几乎成功了,但没有以正确的方式。下面是我的代码。现在我有两个“添加到购物车”按钮,我不知道如何删除它。

/**
 * Replace add to cart button in the loop.
 */
function iconic_change_loop_add_to_cart() {
    
    remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
    add_action( 'woocommerce_shop_loop_item_title', 'iconic_template_loop_add_to_cart', 10 );
}

add_action( 'init', 'iconic_change_loop_add_to_cart', 10 );

/**
 * Use single add to cart button for variable products.
 */
function iconic_template_loop_add_to_cart() {
    global $product;

    if ( ! $product->is_type( 'variable' ) ) {
        woocommerce_template_loop_add_to_cart();
        return;
    }

    remove_action( 'woocommerce_loop_add_to_cart_link', 'woocommerce_single_variation_add_to_cart_button', 20 );
    add_action( 'woocommerce_loop_add_to_cart_link', 'iconic_loop_variation_add_to_cart_button', 20 );
    
    woocommerce_template_single_add_to_cart();
}

/**
 * Customise variable add to cart button for loop.
 *
 * Remove qty selector and simplify.
 */
function iconic_loop_variation_add_to_cart_button() {
    global $product;

    ?>
    <div class="woocommerce-variation-add-to-cart variations_button">
        <button type="submit" class="single_add_to_cart_button button"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
        <input type="hidden" name="add-to-cart" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="product_id" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="variation_id" class="variation_id" value="0" />
    </div>
    <?php
}

访问https://imurbuddy.com/aicart-cert/?s=ladies&post_type=product来查看场景

0 个答案:

没有答案
相关问题