在WooCommerce中添加到购物车中的商品的Java脚本事件是什么?

时间:2013-02-27 作者:Justin Beaudry

我似乎无法在文档中或通过谷歌找到这一点。因此,基本上我只是在寻找将项目添加到购物车时触发的Javascript事件由于某些原因,我的默认添加到购物车通知不起作用

编辑:所以我在想,因为我包括woocommerce。“我的主题”默认文件夹中的php文件以及我的woocommerce模板覆盖。

1 个回复
最合适的回答,由SO网友:helgatheviking 整理而成

读取源代码。来自woocommerce ajax。php(在插件的根文件夹中)

Javascript/Ajax add to cart

/**
 * AJAX add to cart
 *
 * @access public
 * @return void
 */
function woocommerce_ajax_add_to_cart() {

    global $woocommerce;

    check_ajax_referer( \'add-to-cart\', \'security\' );

    $product_id = (int) apply_filters(\'woocommerce_add_to_cart_product_id\', $_POST[\'product_id\']);

    $passed_validation = apply_filters(\'woocommerce_add_to_cart_validation\', true, $product_id, 1);

    if ($passed_validation && $woocommerce->cart->add_to_cart($product_id, 1)) :
        // Return html fragments
        $data = apply_filters(\'add_to_cart_fragments\', array());
        do_action( \'woocommerce_ajax_added_to_cart\', $product_id);
    else :
        // If there was an error adding to the cart, redirect to the product page to show any errors
        $data = array(
            \'error\' => true,
            \'product_url\' => get_permalink( $product_id )
        );
        $woocommerce->set_messages();
    endif;

    echo json_encode( $data );

    die();
}

add_action(\'wp_ajax_woocommerce_add_to_cart\', \'woocommerce_ajax_add_to_cart\');
add_action(\'wp_ajax_nopriv_woocommerce_add_to_cart\', \'woocommerce_ajax_add_to_cart\');

Non-AJAX: Requires Page Load

如果您没有使用AJAX,那么您使用的是woocommerce_add_to_cart_action() 来自woocommerce功能。在init 钩它有点长,所以我将让您从提到的文件中读取它。基本上,它会查找add-to-cart的查询参数(应该等于产品ID)并从那里开始。

结束

相关推荐

包含了JavaScript,但ert()函数不起作用

我已经通过wp_enqueue_script(\'slider\', plugins_url( \'slider.js\', __FILE__ ) ); 只需要一个简单的$(document).ready(function () { alert(\"alert\"); }); 它会显示在浏览器中,但不会提示我“警报”。PS:忘了提到我也包括了jquery,但仍然不起作用。wp_deregister_script(\'jquery\'); wp_regis