用于下订单的自定义行为的Woocommerce钩子

时间:2016-05-12 06:16:22

标签: wordpress woocommerce hook checkout orders

我想知道是否有用于在点击时更改Place Order Button行为的钩子。我正在尝试在下订单时更换/更换产品,因为产品选择(所有可用产品)也在结帐页面。

到目前为止,我一直试图操纵woocommerce_checkout_order_review钩子&失败。

add_action('woocommerce_checkout_order_review', 'remove_woocommerce_product');
function remove_woocommerce_product(){
    if (isset($_POST['woocommerce_checkout_place_order'])){

        global $woocommerce;
        $woocommerce->cart->empty_cart(); // Empty the cart

        $selectedproduct = $_POST['selectedproductid']; // Get the selected product

        WC()->cart->add_to_cart( $selectedproduct ); // Insert the selected product in the the cart
        return esc_url( wc_get_checkout_url() ); // Redirect to Payment Gateway Page
    }
}

在下订单时,不会触发上面的挂钩。也许我的代码有问题或者我怀疑是错误的钩子应用了。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

没关系......找到答案......

var url = 'www.google.com?param1=XDTY-300Hbc=&param4=hello';
var query = url.substring(1);
var data = {};
query.split('&').filter(Boolean).forEach(function(pair) {
  pair = pair.split('=');
  data[decodeURIComponent(pair[0])] = decodeURIComponent(pair.slice(1).join('=')).replace(/\+/g, ' ');
});
document.body.innerHTML = JSON.stringify(data);

有关详细说明,请参阅Woocommerce Replace Product in Cart Upon Place Order in Checkout Page