在woocommerce初始化后,通过表单提交将产品添加到购物车

时间:2016-03-14 10:02:17

标签: php wordpress woocommerce

我正在制作一个插件,我被困在某事上 我想在提交时将产品添加到购物车 起初我得到了WP没有加载的错误。所以我使用

修复了
add_action('wp_loaded', 'wp_after_load');

所以这是我的代码:

HTML

<form method="POST" enctype="multipart/form-data">
    <button type="submit" class="btn btn-primary" name="ws-add-to-cart">Add to Cart</button>
</form>

PHP

if (isset($_REQUEST['ws-add-to-cart'])) {

    add_action('wp_loaded', 'wp_after_load');
}

function wp_after_load() {
    add_action( 'init', 'add_product_to_cart' );

}
function add_product_to_cart() {
        echo '<script>alert("dsa");</script>';
        global $woocommerce;
        global $product;
        $product_ident = $product->id;
        $product_id = $product_ident;


        $woocommerce->cart->add_to_cart($product_id);
}
事情是,没有任何反应 我的猜测是add_action( 'init', 'add_product_to_cart' );卡在了某些东西上,或者这不是正确的钩子。
在使用woocommerce加载后,我正在使用此挂钩等待 然而,我不确定这是否符合我的想法 那么我在这里做错了什么?我从WooThemes获得了代码:
https://docs.woothemes.com/document/automatically-add-product-to-cart-on-visit/

1 个答案:

答案 0 :(得分:1)

你必须这样使用:

if (isset($_REQUEST['ws-add-to-cart'])) {
    add_action( 'init', 'add_product_to_cart' );
    function add_product_to_cart() {
        echo '<script>alert("dsa");</script>';
        global $woocommerce;
        global $product;
        $product_ident = 175(your product id);
        $product_id = $product_ident;
        $woocommerce->cart->add_to_cart($product_id);
    }
}