Проще
Для заказа в один клик Вам корзина вообще не нужна.
- Отправляете AJAX-ом данные о товаре
- Создаете заказ, наполняете , оформляете
Как пример
$qorder = wc_create_order();
if ( 0 === $params['type'] ) { /* simple */
$product = wc_get_product( $params['id'] );
$item_id = $qorder->add_product( $product, $params['qty'] );
} elseif ( 1 === $params['type'] ) { /* variable */
$variations_array = array();
$var_product = new WC_Product_Variation( $params['var_id'] );
$variations_array['variation'] = array(
$params['attr_name'] => $params['attr_value'],
);
$item_id = $qorder->add_product( $var_product, $params['qty'], $variations_array );
}
$qorder->set_address( $address, 'billing' );
$qorder->set_address( $address, 'shipping' );
$qorder->calculate_totals();
wc_reduce_stock_levels( $qorder->get_id() );
$qorder->update_status( 'processing' );
echo 'Спасибо за заказ';