WooCommerce - Aggiungere un prodotto al carrello programmaticamente tramite JS o PHP
Sto utilizzando il plugin WooCommerce per gestire una piccola parte e-commerce di un sito e ho bisogno di aggiungere prodotti al carrello tramite una chiamata o funzione invece di utilizzare i suoi pulsanti 'aggiungi al carrello'.
In pratica, vorrei inviare a WooCommerce un codice SKU e una quantità, per esempio, e far aggiornare il carrello.
sendToCart('123456', 55);
ecc
Ho esaminato la documentazione ma non riesco a trovare riferimenti a questo tipo di funzionalità. Qualcuno può suggerire come potrei realizzare questo?

OK, quindi ecco come ho risolto alla fine. Un esempio rapido e semplice, che utilizza JQuery.
<a id="buy" href="#">Acquista questo!</a>
<script>
$('#buy').click(function(e) {
e.preventDefault();
addToCart(19);
return false;
});
function addToCart(p_id) {
$.get('/wp/?post_type=product&add-to-cart=' + p_id, function() {
// callback
});
}
</script>
Questo semplicemente effettua una richiesta GET AJAX all'URL del carrello
/wp/?post_type=product&add-to-cart=[PRODUCT_ID]

non funziona più (wc v2.1.12). ho trovato una soluzione e l'ho condivisa qui

Ho utilizzato questo tutorial che mi ha aiutato a ottenere ciò di cui avevo bisogno: https://wpharvest.com/add-product-to-cart-programmatically-in-woocommerce/

In PHP sono riuscito a farlo in questo modo:
global $woocommerce;
$woocommerce->cart->add_to_cart($product_id);
Il metodo si trova in woocommerce/classes/class-wc-cart.php:
/**
* Aggiunge un prodotto al carrello.
*
* @param string $product_id contiene l'ID del prodotto da aggiungere al carrello
* @param string $quantity contiene la quantità dell'articolo da aggiungere
* @param int $variation_id
* @param array $variation valori degli attributi della variazione
* @param array $cart_item_data dati extra dell'articolo che vogliamo passare
* @return bool
*/
public function add_to_cart( $product_id, $quantity = 1, $variation_id = '', $variation = '', $cart_item_data = array() ) {

@Stratboy utilizzando il modo consigliato per aggiungere funzioni AJAX in Wordpress: https://codex.wordpress.org/AJAX_in_Plugins - fondamentalmente basta inserire le 3 righe della risposta nel primo esempio php del codex di wordpress.
