WooCommerce添加到购物车的URL不起作用

时间:2018-01-04 作者:Skoua

我创建了一个自定义按钮,用于将产品添加到购物车,我正在使用以下链接:http://signaturecarbone.s23528.liner7.atester.fr/panier?add_to_cart=91&product_id=91&variation_id=93&attribute_pa_typographie=oscine-bold&attribute_pa_contour=sans&attribute_pa_departement=15&attribute_pa_percage=avec&plaque=RR-158-RR&bavette=&quantity=1

这是购物车页面。两天前,这个链接还在运行,并将产品添加到购物车中,但现在已经不存在了。

我尝试停用所有插件(但显然是WC),使用非变量产品进行测试,通过GET和POST发送请求,检查和不检查设置中的所有ajax按钮,但没有任何效果。

我查了一下日志,也没用。

有人知道该怎么做吗?单击此链接应将产品添加到购物车。

1 个回复
SO网友:Skoua

因此,我最终找到了解决办法,因为我仍然不知道发生了什么。我更改了url以指向产品页面,并使用ol\'good PHP获取值并使用WooCommerce API添加产品。这是我的代码:

if(isset($_GET[\'order\']) && $_GET[\'order\'] == \'true\') {
    $typo = isset($_GET[\'attribute_pa_typographie\']) ? $_GET[\'attribute_pa_typographie\'] : \'\';
    $contour = isset($_GET[\'attribute_pa_contour\']) ? $_GET[\'attribute_pa_contour\'] : \'\';
    $departement = isset($_GET[\'attribute_pa_departement\']) ? $_GET[\'attribute_pa_departement\'] : \'\';
    $percage = isset($_GET[\'attribute_pa_percage\']) ? $_GET[\'attribute_pa_percage\'] : \'\';
    $plaque = isset($_GET[\'plaque\']) ? $_POST[\'plaque\'] : \'\';
    $bavette = isset($_GET[\'bavette\']) ? $_POST[\'bavette\'] : \'\';
    $quantity = isset($_POST[\'quantity\']) && is_numeric($_POST[\'quantity\']) ? (int)$_POST[\'quantity\'] : 1;

    $attrs = [
        \'attribute_pa_typographie\' => $typo,
        \'attribute_pa_contour\' => $contour,
        \'attribute_pa_departement\' => $departement,
        \'attribute_pa_percage\' => $percage,
        \'plaque\' => $plaque,
        \'bavette\' => $bavette
    ];

    WC()->cart->add_to_cart($productID, $quantity, $variationID, $attrs);
    wp_redirect(\'/panier\');
    exit;
}
不是很花哨,但很管用。如果有人有更好的主意,我洗耳恭听!

结束

相关推荐

WordPress中的AJAX,将坐标数据发送到MySQL并显示为MAP

我花了几个月的时间试图弄清楚如何获取用户的地理位置并将其传递到MySQL,以及在地图上用标记显示后如何将其传递到MySQL。我已经在通过ajax将数据传递给php方面遇到了困难。并在stackoverflow中进行搜索和研究。看来我的代码是正确的。AJAX似乎有一种与WORDPRESS协作的特殊方式。下面是中存在的代码template-maps.php: var pos; var infoWindow = new google.maps.InfoWindow({map: map});