我已经构建了一个自定义的 WooCommerce 购物车,您可以在其中使用 AJAX 更改数量和/或从购物车中删除项目,但它有问题,我认为这与 WooCommerce 和 WordPress nonces 的有效性有关。
问题:
当您的购物车中有产品并且您至少刷新页面一次时 - 将产品添加到您的购物车后,它会起作用。
当您第一次访问时,它不起作用,您将产品添加到购物车中并尝试编辑产品的数量,或尝试删除它。
在https://staging.noten.nl/noten/上亲自查看- 请检查您的智能手机。将产品添加到购物车,单击它并更改值(多 250 克/少 250 克/删除产品)
PHP - Nonce 创建
/*
** Theme scripts
*/
function scripts() {
// Enqueue scripts
wp_enqueue_script( 'noten-nl/js', Assets\asset_path('scripts/main.js?v=' . VERSION), ['jquery-core', 'wp-util'], null, true );
// Localize script
wp_localize_script( 'noten-nl/js', 'shop', array(
'url' => admin_url( 'admin-ajax.php' ),
'cart_more' => wp_create_nonce( 'cart-more-nonce' ),
'cart_less' => wp_create_nonce( 'cart-less-nonce' ),
'cart_delete' => wp_create_nonce( 'cart-delete-nonce' )
)); …Run Code Online (Sandbox Code Playgroud)