在购物车页面中添加自定义按钮以在购物车中添加特定产品

时间:2019-07-29 06:39:22

标签: wordpress woocommerce hook-woocommerce

尝试在购物车页面中添加自定义按钮。如果单击该按钮,则应添加特定产品,并且购物车页面应随着ajax加载而刷新。我使用了下面的代码,但它刷新了页面而不更新购物车价格。

        add_filter( 'woocommerce_cart_item_price', 'customizing_cart_item_name', 10, 3 );
    function customizing_cart_item_name( $product_name, $cart_item, $cart_item_key ) {
        $product = $cart_item['data']; // Get the WC_Product Object

        if ( $value = $product->get_meta('pro_price_extra_info') ) {
            $product_name .= '<a class="gt_price" href="example.com/cart/?add-to-cart=250">Get this price</a>';
        }
        return $product_name;
    }

请帮助我提供代码。预先感谢

1 个答案:

答案 0 :(得分:1)

我刚刚测试了您的代码,它按您提到的那样工作。您所需要做的就是添加一行以重新计算购物车总额:“ WC()-> cart-> calculate_totals();”

根据您的代码:

add_filter( 'woocommerce_cart_item_price', 'customizing_cart_item_name', 10, 3 );
function customizing_cart_item_name( $product_name, $cart_item, $cart_item_key ) {
    $product = $cart_item['data']; // Get the WC_Product Object

    if ( $value = $product->get_meta('pro_price_extra_info') ) {
        $product_name .= '<a class="gt_price" href="example.com/cart/?add-to-cart=250">Get this price</a>';
    }

    WC()->cart->calculate_totals();

    return $product_name;
}

要使按钮的位置更好,您可以尝试以下(example.png):

add_action( 'woocommerce_cart_collaterals', 'custom_add_to_cart_redirect' );
function custom_add_to_cart_redirect() {
      echo '<button class="de-button-admin de-button-anim-4"><a href="example.com/cart/?add-to-cart=250" style="color:white">Get Your Discounted Product!</a></button>';
}

购物车页面挂钩: https://www.tychesoftwares.com/woocommerce-cart-page-hooks-visual-guide-with-code-examples/

我希望它能起作用。祝你有美好的一天。