在下面的代码中,我的按钮单击起作用了。产品将添加到购物车中。但我必须手动重新加载页面,才能将woocommerce_checkout加载到页面(同一页面)。
我尝试了location.reload,并尝试重定向到另一个页面,在那里我也有woocommerce_checkout快捷代码,但似乎什么都不起作用。感谢所有的帮助。
jQuery('#submitproject').on('click', function () {
jQuery.post({
dataType: 'json',
url: '/wp-admin/admin-ajax.php?action=wc_woocommerce_clear_cart_url',
data: {
action: 'wc_woocommerce_clear_cart_url'
},
success: function (data) {
if (data.status != 'success')
alert(data.msg);
else
{
var numeroproduit = idproduit;
console.log(numeroproduit);//15
jQuery.get('/?post_type=product&add-to-cart='+numeroproduit, function () {});
console.log("produit rajout");
// window.location.href = "/paiement-projet";
// location.reload();
jQuery('#monpaiement').show();
//jQuery('#mesinfos').hide();
//jQuery('#monprojet').hide();
//jQuery("#monpaiement").slideToggle();
//jQuery('#submitproject').toggleClass('opened closed');
console.log("after click success");
}
}
});
});修改后的代码尝试使用Axelle的解决方案:
jQuery('#submitproject').on('click', function () {
jQuery.post({
dataType: 'json',
url: '/wp-admin/admin-ajax.php',
data: {
action: ''
},
success: function (data) {
if (data.status != 'success')
alert(data.msg);
else
{
var numeroproduit = idproduit;
console.log(numeroproduit);//15
jQuery.get('/?post_type=product&add-to-cart='+numeroproduit, function () {});
console.log("produit rajout");
//window.location.href = '/?post_type=product&add-to-cart'=+numeroproduit;
// location.reload();
window.location.reload(true);
jQuery('#monpaiement').show();
//jQuery('#mesinfos').hide();
//jQuery('#monprojet').hide();
//jQuery("#monpaiement").slideToggle();
//jQuery('#submitproject').toggleClass('opened closed');
console.log("after click success");
}
}
});
});如您所见,我修改了url以不使用操作钩子,并添加了页面刷新javascript。
不,不显示结帐。上面的新代码。此代码包含在document.ready函数中。更正,新代码不起作用。它不接受url aadmin-ajax.php。收到错误的请求警报。抱歉的。
发布于 2019-12-07 02:54:47
下面是正确的代码。谢谢你的帮助。
jQuery('#submitproject').on('click', function () {
jQuery.post({
dataType: 'json',
url: '/wp-admin/admin-ajax.php?action=wc_woocommerce_clear_cart_url',
data: {
action: 'wc_woocommerce_clear_cart_url'
},
success: function (data) {
if (data.status != 'success')
alert(data.msg);
else
{
var numeroproduit = idproduit;
console.log(numeroproduit);//15
jQuery.get('/?post_type=product&add-to-cart='+numeroproduit, function () {});
console.log("produit rajout");
window.location.href = '/?post_type=product&add-to-cart='+numeroproduit;
jQuery('#monpaiement').show();
jQuery('#mesinfos').hide();
jQuery('#monprojet').hide();
jQuery("#monpaiement").slideToggle();
jQuery('#submitproject').toggleClass('opened closed');
console.log("after click success");
}
}
});
});正如您所看到的,我对get url执行了一个window.location.href,这会将我不刷新地发送到结帐页面,商品就在购物车中。
发布于 2021-05-03 13:23:28
此页可能无法加载woocommerce结帐脚本,
通过这两种方法,您可以添加脚本以在自定义结帐页面上启用js事件
wp_enqueue_script( 'wc-checkout' );或添加add_filter( 'woocommerce_is_checkout', '__return_true')的
https://stackoverflow.com/questions/59210469
复制相似问题