WooCommerce和钩子谢谢你页面

时间:2018-05-25 15:56:43

标签: php wordpress woocommerce checkout hook-woocommerce

我在我的网站上设置了一些PHP代码以限制最小订单金额,因此,我还添加了一个“返回购物车”按钮,以显示在“结帐”页面中以改善用户体验(基于在这个例子中:Back to cart button on checkout page)。问题是,当订单有效时(匹配最小订单数量设置)当客户被重定向到“谢谢”页面时,“返回购物车”按钮会一直显示,并且在此页面中没有任何意义,因为图像显示: thank you message with get back to cart button

有没有办法阻止它出现在感谢页面中,并将其行为保留在结帐页面中?

到目前为止,在我的子主题中添加到函数文件的PHP代码是:

// back to cart button
add_action ( 'woocommerce_checkout_process', 'return_to_cart_notice_button', 20 );
function return_to_cart_notice_button(){

    //Set the messages for notice and button
    $message = __( 'Do you want to go back to shopping cart?', 'woocommerce' );
    $button_text = __( 'Go to shopping cart', 'woocommerce' );

    $cart_link = WC()->cart->get_cart_url();

    wc_add_notice( '<a href="' . $cart_link . '" class="button wc-forward">' . $button_text . '</a>' . $message, 'notice' );
}

1 个答案:

答案 0 :(得分:1)

您可以将这两个条件的woocommerce标签一起使用仅定位结帐页面,但不能使用订单收到(谢谢你)页面:

if( is_checkout() && ! is_wc_endpoint_url( 'order-received' ) ){ }

所以在你的代码中:

// back to cart button
add_action ( 'woocommerce_checkout_process', 'return_to_cart_notice_button', 20 );
function return_to_cart_notice_button(){

    if( is_checkout() && ! is_wc_endpoint_url( 'order-received' ) ){

        //Set the messages for notice and button
        $message = __( 'Do you want to go back to shopping cart?', 'woocommerce' );
        $button_text = __( 'Go to shopping cart', 'woocommerce' );

        $cart_link = WC()->cart->get_cart_url();

        wc_add_notice( '<a href="' . $cart_link . '" class="button wc-forward">' . $button_text . '</a>' . $message, 'notice' );
    }
}