无法通过自定义休息回调将产品添加到购物车

问题描述

我目前正在尝试通过自定义的Rest端点将产品添加到WC_Cart。

这是我自定义的休息路线中的回调:

/**
 * Add item to cart
 * @param id,quantity
 * @return array
 */

add_action('rest_api_init',function () {
    register_rest_route('custom/v1','add-to-cart',array(
        'methods' => 'GET','callback' => 'add_to_cart',));
});
function add_to_cart(WP_REST_Request $request) {

 if ( is_null( WC()->cart ) ) {
    wc_load_cart();
 }

 $Product = $request['id']; // Example: 256
 $quantity = $request['quantity'];
 $add = WC()->cart->add_to_cart($testProduct,$quantity = 1);

 if ($add) {
    return wp_send_json_success('Produktet blev tilføjet!');
 } else {
    return wp_send_json_error("Forkert produkt ID");
 }
}

此返回成功,并且我检查了$add包含一个很好的cart_item_key。

但这不会将任何产品添加到购物车。

  • 控制台未返回任何错误
  • “网络”标签返回200。

自发布之日起运行WP和WC的最新版本。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)