【发布时间】:2021-06-22 01:13:21
【问题描述】:
我正在使用货币切换器 WordPress 插件在我的网站上更改货币,我希望在更改货币后清除购物车。我已经尝试了一段时间,但无法弄清楚为什么它不起作用。
这是我在主题functions.php文件中的源代码
function currency_change_action_callback() {
global $woocommerce;
$url_data=$_POST['url_data'];
$woocommerce->cart->empty_cart();
echo $url_data;
die();
}
add_action( 'wp_ajax_currency_change_action', 'currency_change_action_callback' );
add_action( 'wp_ajax_nopriv_currency_change_action', 'currency_change_action_callback' );
我也尝试过创建一个 javascript 文件并将其调用到我的 functions.php 文件中。这是我的源代码
app.js
$('#alg_currency_select').on('change', function () {
function Clearcart(d){
jQuery.post(
"http://localhost/epay/wp-admin/admin-ajax.php",
//ajaxurl,
{
"action": "clearcart",
"data": d.getAttribute("data-product")
},
function(){
window.location = d.getAttribute("data-href");
}
);
})};
functions.php
function load_javascript() {
wp_register_script('custom', get_template_directory_uri().'/app.js', 'jquery', 1, true);
wp_enqueue_script('custom');
}
add_action('wp_enqueue_scripts', 'load_javascript');
如果有人能帮助我解决我的购物车无法清理的问题,我将不胜感激。谢谢。
【问题讨论】:
-
echo $url_data;应该达到什么目的? -
.on('change', function () { function Clearcart(d){没有意义。没有人在任何地方调用该函数Clearcart。 -
@CBroe 我已经删除了 echo 语句。但是我不确定 ClearCart 功能。我参考了另一个链接“stackoverflow.com/questions/40174894/…”,只是使用了该代码,希望它能清除我的购物车。你会建议我做哪些改变?
-
在事件处理回调中执行代码,而不是将其包装到另一个函数中?不清楚
d应该在这里。响应。首先传递任何附加参数会有什么意义。
标签: php jquery ajax wordpress woocommerce