2016-04-02 31 views
8

È 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

+0

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

+0

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

+1

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. –

risposta

10

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.

+0

Puoi indicare i documenti dove questo è documentato. Sto combattendo lo stesso problema e sono praticamente in un vicolo cieco. –

+0

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

+0

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 –

0

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.

+0

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. –