Hooks
Im folgenden Abschnitt ist oft die Rede von "Daten von Abacus". Die Datenstruktur von Abacus können Sie hier einsehen:
- Produkte: https://apihub.abacus.ch/apis/2024/entity/shop-products.api
- Klassierungen: https://apihub.abacus.ch/apis/2024/entity/shop-product-classification-elements.api
Übersetzungen
Zurzeit wird TranslatePress und WPML von PingWoo direkt unterstützt. Sie können jedoch problemlos auch andere Plugins verwenden und diese mit unseren Hooks selbst integrieren:
Produkte: (Action) pingwoo_product_translate
Klassierungen: (Action) pingwoo_category_translate
Diese Hooks liefern zwei Argumente:
- (Integer) Die ID von der Kategorie in WooCommerce
- (Object) Die Daten von Abacus
Varianten: (Action) pingwoo_variant_translate
Diese Hook liefert drei Argumente:
- (Object) Die Antwort von WooCommerce (REST API Antwort)
- (Integer) Die ID vom Hauptprodukt (Variant 0)
- (Object) Die Daten von Abacus
Die Hooks werden immer nach dem Hinzufügen von Produkten, Varianten oder Klassierungen ausgelöst.
Manuelle Übersetzungen
Hinzufügen: (Action) pingwoo_add_translation
Diese Hook benötigt drei Argumente:
- (String) Text in originaler Sprache
- (String) Text in übersetzter Sprache
- (String) Die Sprache im ISO 639-1 Format
Diese Hook kann zu jeder Zeit ausgeführt werden.
Generieren lassen: (Filter) pingwoo_process_translation
Diese Hook benötigt ein Argument:
- (Callable) Funktion welche definiert wie die Texte zusammengesetzt werden
- Muss zwingend ein Array zurückgeben!
- Format: array("de" => "Übersetzung", "en" => "translation", "fr" => "traduction")
Produktinformationen
Sollten Informationen nicht stimmen, oder wenn Sie eine spezielle Struktur im Abacus besitzen, können Sie verschiedene Produktinformationen überschrieben. Dafür sind folgende Hooks eventuell nützlich:
Produkt Titel: (Filter) pingwoo_product_name
Diese Hook liefert drei Argumente:
- (String) Der Titel welcher verwendet wird, falls keine Änderungen vorgenommen werden
- (Object) Die Daten von Abacus
- (String) Der Sprachcode fürs Produkt, welcher momentan angewendet wird
Produkt Titel Felder: (Filter) pingwoo_product_name_fields_keys
Diese Hook liefert zwei Argumente:
- (Array) Die Felder die standardmässig importiert werden (Designation)
- (Object) Die Daten von Abacus
Diese Hook unterstützt Sprachen automatisch. Um z.B. die Designation1 und Designation2 zu kombinieren müssen Sie folgendes Array zurückgeben:
return [
"Texts" => "Designation1",
"Texts" => "Designation2"
];
Desweiteren wird diese Hook nicht ausgeführt, wenn Sie die pingwoo_product_name Hook verwenden.
Produkt Beschreibung: (Filter) pingwoo_product_description
Diese Hook liefert zwei Argumente:
- (String) Die Beschreibung welche verwendet wird, falls keine Änderungen vorgenommen werden
- (Object) Die Daten von Abacus
Produkt Kurzbeschreibung: (Filter) pingwoo_product_short_description
Diese Hook liefert zwei Argumente:
- (String) Die Kurzbeschreibung welche verwendet wird, falls keine Änderungen vorgenommen werden
- (Object) Die Daten von Abacus
Weitere Produktinformationen können nachdem ein Produkt hinzugefügt wurde mit folgenden Hooks angepasst oder hinzugefügt werden:
Produkte: (Action) pingwoo_product_info
Diese Hook liefert zwei Argumente:
- (Integer) Die WooCommerce Produkt ID
- (Object) Die Daten von Abacus
Varianten: (Action) pingwoo_variant_info
Diese Hook liefert drei Argumente:
- (Integer) Die WooCommerce Produkt ID
- (Integer) Die ID vom Hauptprodukt (Variant 0)
- (Object) Die Daten von Abacus
Für Entwickler
Möchten Sie Ihren Code testen und überprüfen? PingWoo bietet hierfür diverse Hooks an:
Einzelnes Produkt importieren: (Action) pingwoo_test_product
Diese Hook benötigt zwei Argumente:
- (Integer) Die Abacus Produkt ID
- (Integer) Die Abacus Varianten ID
- Optional: Standardmässig wird die ID 0 verwendet
Einzelnes Produkt mit allen Varianten importieren: (Action) pingwoo_test_variant
Diese Hook benötigt ein Argument:
- (Integer) Die Abacus Produkt ID
Weitere Hooks können auf Anfrage gerne hinzugefügt werden.