Ist ist möglich, benutzerdefinierte Felder für Bestellungen, Produkte, Kunden über WooCommerce REST-API zugreifen? Wenn nicht nativ, welche Plugins oder Workarounds oder Hacks gibt es da draußen, die funktionieren? Vielen Dank!WooCommerce REST API Benutzerdefinierte Felder
Antwort
Beantwortung meiner Frage:
Es ist möglich, mit dem folgenden: (mit v3 Legacy-API)
benutzerdefinierte Felder an den Server zurück zu verschicken: (für Bestellungen)
{
"order_meta": {
"key": "value"
}
}
Um benutzerdefinierte Felder vom Server abzurufen, verwenden Sie diesen Filter mit Ihrem Endpunkt:
http://www.example.com/wc-api/v3/orders?filter[meta]=true
Dies funktioniert auch für Produkte.
Können Sie auf die Dokumentation zeigen, wo dies dokumentiert ist. Ich kämpfe mit dem gleichen Problem und bin ziemlich am Ende. –
Es ist nicht auf WooCommerce API-Seiten dokumentiert. Ich habe die Antwort von ihren Github-Problemen bekommen. Dieses Feld ist ein verstecktes Meta-Feld. Wenn Sie eine bestimmte Frage haben, können Sie hier fragen. – Amjad
Wir haben eine benutzerdefinierte Taxonomie 'status' jedem Produkt zugeordnet, die ich mit dem Rest-API erhalten möchten, aber ich weiß nicht, wie die Query-String zu konstruieren, um –
Wie im Kommentar erwähnt, nachdem WooCommerce eine Bestellung über die API erstellt hat, wird es woocommerce_api_create_order
haken, können Sie davon Gebrauch machen.
Fügen Sie den folgenden Code zu Ihrem Thema der functions.php Datei
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
}
den Code anschauen Ähnlich in plugins/woocommerce/includes/api/*.php
Dateien, die geeignete Aktion oder Filterhaken für den Endpunkt und verwenden Sie es finden.
Um die Datenbankstruktur zu verstehen, finden Sie in das [WooCommerce Schema] (https://github.com/woocommerce/woocommerce/wiki/Database-Description) und das [Wordpress-Schema] (https://codex.wordpress.org/images /2/25/WP4.4.2-ERD.png). WordPress-Metadaten ermöglichen benutzerdefinierte Schlüssel/Wert-Paare. –
Was Sie gesagt, das zu tun versuchen, ist nicht durch ihre [Dokumentation] (https://woothemes.github.io/woocommerce-rest-api-docs/) abgedeckt? Das würde eine spezifischere Frage stellen. – helgatheviking
Benutzerdefinierte Felder, die normalerweise von anderen Plugins hinzugefügt werden, z. B. Auftragsarten. Oder wenn ich ein benutzerdefiniertes Feld für einen Auftrag mithilfe eines API-Aufrufs erstellen möchte. – Amjad
Sie müssen den Code in 'plugins/WooCommerce/includes/api/*. Php' Dateien graben, die richtige Aktion oder Filterhaken finden und verwenden. Für zB: wenn WooCommerce einen Auftrag über die API, nach dem Erstellen der Bestellung bietet die folgenden Haken 'do_action (‚woocommerce_api_create_order‘, $ order-> id, $ data, $ this) erstellt;' in diesem Haken haben Sie Zugriff auf die '$ data', das gesendet wurde, können Sie Ihre benutzerdefinierten Feldwerte extrahieren und verarbeiten. –