È possibile accedere a campi personalizzati per ordini, prodotti, clienti tramite l'API REST di WooCommerce? Se non in modo nativo, quali sono i plug-in, i workaround o gli hack che funzionano? Grazie!Campi personalizzati API REST WooCommerce
risposta
Rispondendo alla mia domanda:
E 'possibile utilizzare il seguente: (usando v3 eredità API)
Per inviare i campi personalizzati al server: (per gli ordini)
{
"order_meta": {
"key": "value"
}
}
Per recuperare i campi personalizzati dal server utilizzare questo filtro con il punto finale:
http://www.example.com/wc-api/v3/orders?filter[meta]=true
Questo funziona anche per i prodotti.
Puoi indicare i documenti dove questo è documentato. Sto combattendo lo stesso problema e sono praticamente in un vicolo cieco. –
Non è documentato sulle pagine dell'API di WooCommerce. Ho ottenuto la risposta dai loro problemi github. Questo campo è un meta campo nascosto. Se hai una domanda specifica puoi chiedere qui. – Amjad
Abbiamo uno 'status' di tassonomia personalizzato assegnato a ciascun prodotto che vorrei ottenere con l'API Rest ma non so come costruire la stringa di query per recuperare i dati –
Come menzionato nel commento dopo che WooCommerce crea un ordine tramite l'API, verrà generato il gancio woocommerce_api_create_order
, è possibile utilizzarlo.
Aggiungere il seguente codice nel file functions.php del vostro tema
add_action('woocommerce_api_create_order', 'my_woocommerce_api_create_order', 10, 2);
function my_woocommerce_api_create_order($order_id, $data) {
// $data contains the data was posted, add code to extract the required
// fields and process it as required
}
Allo stesso modo un'occhiata al codice di plugins/woocommerce/includes/api/*.php
file, trovare l'azione adatto o gancio del filtro per il punto finale e utilizzarlo.
Per comprendere la struttura del database, consultare lo [schema di WooCommerce] (https://github.com/woocommerce/woocommerce/wiki/Database-Description) e lo [schema di WordPress] (https://codex.wordpress.org/images /2/25/WP4.4.2-ERD.png). I metadati di WordPress consentono coppie di chiavi/valori personalizzate. –
Che cosa stai cercando di fare specificamente non è coperto dalla loro [documentazione] (https://woothemes.github.io/woocommerce-rest-api-docs/)? Ciò renderebbe una domanda più specifica. – helgatheviking
Campi personalizzati che di solito vengono aggiunti da altri plugin come ad esempio i tipi di ordine. O se voglio creare un campo personalizzato per un ordine utilizzando una chiamata API. – Amjad
Dovrai inserire il codice nei file 'plugins/woocommerce/includes/api/*. Php', trovare l'azione corretta o il hook del filtro e usarlo. Ad esempio: quando WooCommerce crea un ordine tramite l'API, dopo aver creato l'ordine offre il seguente hook 'do_action ('woocommerce_api_create_order', $ order-> id, $ data, $ this);' in quel gancio si ha accesso al '$ dati' che è stato inviato, è possibile estrarre i valori del campo personalizzato ed elaborarlo. –