Wordpress Woocommerce - Verwenden Sie update_post_meta, um Produktattribute hinzuzufügen

8

Die Produkte auf meiner Kunden-Website benötigen bestimmte Attribute, die ich über Produkte - & gt; Attribute in der Wordpress-Administration. In diesem Import-Skript, das ich kodiere, muss ich die Funktion update_post_meta($post_id, $meta_key, $meta_value) verwenden, um die richtigen Attribute und Werte zu importieren.

Momentan habe ich die Funktion so:

%Vor%

Aber ich bin mir nicht sicher, wie ich die Attribute und ihre Werte richtig weitergeben soll?

    
Daniel 03.05.2014, 12:20
quelle

5 Antworten

13

Richtig, also hat es eine Weile gedauert, bis ich es selbst herausgefunden habe, aber ich habe es schließlich geschafft, indem ich die folgende Funktion geschrieben habe:

%Vor%

Ich hoffe, dass diese Funktion anderen Leuten helfen wird, wenn sie mehrere Attribute in WooCommerce pro-grammatisch importieren müssen!

    
Daniel 04.05.2014, 15:53
quelle
6

Ich habe Daniels Antwort versucht, und es hat nicht für mich funktioniert. Es könnte sein, dass sich der Wordpress / Woocommerce-Code seither geändert hat, oder vielleicht habe ich nicht ganz verstanden, wie man das macht, aber so oder so hat dieser Code nichts für mich getan. Nach einer Menge Arbeit, die ich als Basis benutzte, kam ich jedoch mit diesem Code-Schnipsel auf und setzte ihn auf die functions.php :% /

meines Themas %Vor%

Damit kann ich das, was ich in meiner WooCommerce-Installation als "Material" eingestellt habe, als benutzerdefiniertes Attribut verwenden und es dem formalen Meta als _material hinzufügen. Dies wiederum ermöglicht es mir, einen weiteren Codeschnipsel zu verwenden, so dass die WooCommerce-Suchfunktion auf Meta-Felder erweitert wird, was bedeutet, dass ich im WooCommerce-Suchfeld nach einem Material suchen kann und alle Artikel mit diesem Material angezeigt werden.

Ich hoffe, das ist nützlich für jemanden.

    
Tizzy 19.01.2016 22:00
quelle
1

@ Daniels 'Antwort funktioniert, wird sich nicht für richtig oder falsch entscheiden. Wenn Sie jedoch die Werte als Taxonomiebegriff unter Attributen hinzufügen möchten, müssen Sie den Code wie folgt anpassen (set is_taxonomy = 1). Ansonsten sieht WooCommerce es als benutzerdefiniertes Meta-Feld (?). Es fügt immer noch den Wert unter Attribute hinzu. Dies funktioniert nur für Strings. Für Werte, die Arrays sind, muss der Code angepasst werden.

Zusätzlich verwendet es die wp_set_object_terms, die @Anand ebenfalls vorschlägt. Ich benutzte das, weil die gesamte Dokumentation, die ich finden konnte, zu der Annahme führte, dass sie benutzt werden musste. Wenn jedoch nur die wp_set_object_terms verwendet wird, konnte ich die Attribute auf dem Produktbildschirm nicht sehen. Die Verwendung der Informationen aus beiden Antworten und das Lesen des Themas führten zur Lösung.

Sie müssen den Code für Dinge wie Produktvariationen optimieren.

%Vor%

Rufen Sie dann die Funktion auf:

%Vor%

Danke, dass Sie den Code Daniel & amp; Anand. Es hat mir sehr geholfen.

    
user6819484 11.09.2016 15:06
quelle
0

Ich wollte nur darauf hinweisen, dass @ Anands Antwort für mich funktioniert hat (siehe Kommentar zu Frage oben). Mehr Details finden Sie in dieser Antwort .

    
Geoffrey Booth 23.07.2014 18:57
quelle
0

Ich weiß nicht, ob dies der "richtige" Weg ist ... Aber ich brauchte eine Funktion, um ACF-Repeater-Felder mit einem Datumswert als Attribut beim Post-Speichern hinzuzufügen, also war das die Funktion, die ich aufstellte mit:

%Vor%

Hoffe, das hilft jemandem.

    
john 25.01.2017 13:20
quelle

Tags und Links