Loslegen
Verfügbare Hooks und Filter in Product Feed Pro - AdTribes
  1. Startseite
  2. Wissensdatenbank
  3. Anpassung
  4. Verfügbare Hooks und Filter in Product Feed Pro

Verfügbare Hooks und Filter in Product Feed Pro

Product Feed Pro löst eine große Anzahl von WordPress-Aktions- und Filter-Hooks während der Feed-Erstellung, der Feed-Generierung und auf den Admin-Seiten aus. Verwenden Sie diese, um eigene Felder zum Feed-Editor hinzuzufügen, zu ändern, welche Daten in einen Feed gelangen, oder um die Admin-Benutzeroberfläche des Plugins zu erweitern, ohne die Plugin-Dateien direkt zu bearbeiten.

Dies ist eine Entwicklerreferenz. Sie setzt voraus, dass Sie mit dem Hinzufügen von Code über ein benutzerdefiniertes Plugin oder die functions.php-Datei Ihres Themes vertraut sind. Wenn Sie neu bei WordPress-Hooks sind, lesen Sie zuerst das WordPress Plugin Handbook zu Hooks.

Außerdem verlassen sich Product Feed Elite und andere AdTribes-Add-ons auf viele der gleichen Hooks, um Product Feed Pro zu erweitern. Wo ein Hook speziell dafür existiert, dass ein Add-on in das Kernverhalten eingreift, wird dies unten vermerkt.

Wie Hooks in die Feed-Pipeline passen

Ein Feed-Generierungslauf hat drei Phasen: Das Plugin löst die Einstellungen des Feeds auf und startet einen Stapel von Produkten, es durchläuft die Produkte und erstellt die Datenzeile für jedes Produkt, dann schreibt es die fertigen Zeilen in die Feed-Datei und schließt ab. Hooks unter Feed-Generierung und Stapelverarbeitung und die meisten Filter unter Produktdaten und Feed-Ausgabe werden während der mittleren Phase ausgelöst, einmal pro Produkt oder einmal pro Stapel. Hooks unter Feed-Bearbeitungsassistent und Admin-Seiten, Einstellungen und Benachrichtigungen werden nur ausgelöst, wenn jemand den WordPress-Admin verwendet (einen Feed erstellt, bearbeitet oder verwaltet), nicht während einer geplanten Feed-Aktualisierung. Beachten Sie dies bei der Auswahl eines Hooks: Ein Filter, der die Daten eines einzelnen Produkts ändert, wirkt sich nur auf zukünftige Feed-Generierungen aus, während eine Aktion, die an den Feed-Bearbeitungsbildschirm gebunden ist, nur ausgeführt wird, wenn eine Person aktiv in diesem Bildschirm arbeitet.

Aktionen

Aktionen sind Hooks, die WordPress zu bestimmten Zeitpunkten während der Ausführung oder bei bestimmten Ereignissen ausführt.

Admin-Seiten, Menüs und Benachrichtigungen

HakenDetail
adt_pfp_help_menu_itemsWird am Ende des Hilfe-Dropdown-Menüs im Admin-Header des Plugins ausgelöst, nach den integrierten Ressourcen-Links. Ermöglicht Elite und anderen Add-ons, eigene Hilfe-Menüpunkte hinzuzufügen. Da der Header auf jeder Product Feed-Admin-Seite gerendert wird, muss Ihre Callback-Funktion ihre eigene Ausgabe auf die Seiten beschränken, auf denen sie erscheinen soll.
adt_license_page_enqueue_scriptsWird am Ende des Skript-Enqueueing der Lizenzseite ausgelöst und ermöglicht Add-ons, eigene Skripte oder Stile auf dieser Seite zu laden.
adt_license_page_contentWird innerhalb des Inhaltsbereichs der Registerkarten der Lizenzseite ausgelöst. Empfängt die ID der aktiven Registerkarte und die vollständige Liste der registrierten Registerkarten, sodass jedes Add-on seinen eigenen Registerkarteninhalt nur rendern kann, wenn seine Registerkarte aktiv ist.
adt_pfp_settings_page_tab_contentWird nach dem Rendern des integrierten Inhalts der Registerkarten der Einstellungsseite ausgelöst und ermöglicht es anderem Code, Inhalte für die aktive Registerkarte hinzuzufügen, einschließlich einer benutzerdefinierten Registerkarte, die nicht in Product Feed Pro integriert ist.
adt_pfp_settings_page_export_import_tab_contentWird am Ende des Tabs Einstellungen → Export/Import ausgelöst, nach der integrierten Option „Bestehende Feeds überschreiben“, für Add-ons, die ihre eigenen Export/Import-Steuerelemente hinzufügen möchten.
adt_edit_feed_tab_contentWird nach dem Rendern der integrierten Vorlage für den Inhalt des Tabs Feed bearbeiten ausgelöst, sodass anderer Code Inhalte für den aktiven Tab anhängen kann.
adt_pfp_manage_feeds_before_titleWird innerhalb des Wrapper-Elements der Seite Feeds verwalten ausgelöst, oberhalb des Seitentitels.
adt_pfp_manage_feeds_after_titleWird unmittelbar neben dem Seitentitel „Feeds verwalten“ ausgelöst, um Inhalte neben der Überschrift einzufügen.
adt_manage_feeds_table_row_actionsWird innerhalb der Aktionszelle jeder Zeile in der Tabelle Feeds verwalten ausgelöst. Empfängt das Feed-Objekt für diese Zeile, sodass Add-ons ihre eigenen Aktionen pro Feed anhängen können.
adt_pfp_after_display_admin_notice_genericWird unmittelbar nach dem Rendern einer generischen Product Feed Admin-Benachrichtigung ausgelöst, sodass Sie zusätzlichen Markup danach anhängen können.
adt_pfp_notice_updatedWird ausgelöst, nachdem sich der gespeicherte Wert einer Admin-Benachrichtigung geändert hat, z. B. wenn ein Benutzer sie ausblendet oder verschiebt.
adt_pfp_before_dismiss_admin_noticeWird zu Beginn des AJAX-Handlers „Admin-Benachrichtigung ausblenden“ ausgelöst, bevor der gespeicherte Wert der Benachrichtigung aktualisiert wird.
adt_after_register_adt_product_feed_post_typeWird unmittelbar nach der Registrierung des internen Custom Post Type adt_feed durch das Plugin ausgelöst, sodass anderer Code sicher darauf vertrauen kann, dass der Post Type bereits verfügbar ist.
adt_after_migrate_to_custom_post_typeWird ausgelöst, nachdem die einmalige Migration von Legacy-Feeddaten in den Custom Post Type adt_feed abgeschlossen ist, ausgelöst von der Einstellungsseite.
adt_after_install_activate_pluginWird ausgelöst, nachdem der AJAX-Handler „Installieren und aktivieren“ der Checkliste versucht hat, ein Schwester-Plugin herunterzuladen und zu aktivieren. Empfängt den angeforderten Plugin-Slug und das Installationsergebnis.

Feed-Lebenszyklus: erstellen, klonen, löschen und abbrechen

HakenDetail
adt_create_product_feed_before_saveWird unmittelbar bevor ein neu erstellter Feed gespeichert wird, wenn ein Feed über den Legacy-Flow zum Erstellen von Feeds erstellt wird, ausgelöst. Dies ist Ihre letzte Chance, das Feed-Objekt zu ändern, bevor es in die Datenbank geschrieben wird.
adt_clone_product_feed_before_saveWird unmittelbar bevor ein geklonter Feed gespeichert wird, ausgelöst, an jedem Ort, an dem ein Feed dupliziert werden kann (die einzelne Klonaktion, die Massenklonaktion, WP-CLI und die Abilities API). Empfängt den Klon im Speicher und den ursprünglichen Feed, von dem er geklont wurde.
adt_after_clone_product_feedWird unmittelbar nachdem ein geklonter Feed gespeichert und sein Aktualisierungsplan registriert wurde, ausgelöst, über dieselben Klon-Einstiegspunkte wie adt_clone_product_feed_before_save.
adt_before_delete_product_feedWird unmittelbar bevor ein Feed gelöscht wird, bevor seine Daten zerstört werden, ausgelöst. Wird auf dieselbe Weise über die Admin-Oberfläche, WP-CLI und die Abilities API ausgelöst.
adt_after_delete_product_feedLöst unmittelbar nach dem Löschen eines Feeds aus, von denselben Einstiegspunkten wie adt_before_delete_product_feed.
adt_before_cancel_product_feedWird unmittelbar vor dem Zurücksetzen des Ausführungsstatus eines laufenden Feeds und der Änderung seines Status auf Gestoppt ausgelöst.
adt_after_cancel_product_feedWird unmittelbar nach dem Abbrechen der Feed-Verarbeitung, dem Speichern und dem Anfordern der Statistik-Update-Aufgabe ausgelöst.

Feed-Bearbeitungsassistent: Tab-Verarbeitung

Jeder Tab des Bildschirms Feed bearbeiten löst beim Absenden seines Formulars ein Hook-Paar aus: einen Filter, mit dem Sie ändern können, was gespeichert wird, und eine Aktion, die unmittelbar nach dem Speichern ausgelöst wird. Alle lösen auch von der entsprechenden Abilities API-Aktion aus, wo eine existiert.

HakenDetail
adt_after_process_general_tab_formWird nach dem Speichern der Einstellungen des Allgemein-Tabs ausgelöst. Empfängt den gespeicherten Feed, die angewendeten Eigenschaften und eine Kopie des Feeds, wie er vor der Änderung war.
adt_after_process_filters_rules_tab_formWird nach dem Speichern des Legacy-Kombinations-Tabs Filter & Regeln ausgelöst (nur relevant auf Websites, die noch die Einstellung adt_use_legacy_filters_and_rules verwenden).
adt_after_process_filters_tab_formWird nach dem Speichern des Filter-Tabs ausgelöst.
adt_after_process_rules_tab_formWird nach dem Speichern des Regeln-Tabs ausgelöst.
adt_after_process_field_mapping_tab_formWird nach dem Speichern des Feldzuordnungs-Tabs ausgelöst.
adt_after_process_category_mapping_tab_formWird nach dem Speichern des Kategoriezuordnungs-Tabs ausgelöst.
adt_after_process_conversion_analytics_tab_formWird nach dem Speichern der UTM-Einstellungen des Tabs Konversion & Analytik ausgelöst.
adt_process_tab_formWird als Fallback ausgelöst, wenn der übermittelte Tab nicht mit einem der integrierten Tabs von Product Feed Pro übereinstimmt, und ermöglicht es Elite oder anderen Add-ons, die Formularverarbeitung für ihre eigenen benutzerdefinierten Tabs zu übernehmen.

Feed-Bearbeitungsassistent: Template-Injektionspunkte

HakenDetail
adt_before_product_feed_manage_pageWird am oberen Rand jedes Tabs im Feed-Bearbeitungsassistenten ausgelöst, bevor der Inhalt des Tabs gerendert wird. Empfängt eine $step-Nummer, die angibt, welcher Tab gerade aktiv ist (0 für Allgemein, 1 für Kategoriezuordnung, 4 für Filter & Regeln, 5 für Konversion & Analytik, 7 für Feldzuordnung), sodass Ihre Callback-Funktion einen bestimmten Tab ansprechen kann.
adt_general_feed_settings_before_country_fieldWird im Allgemein-Tab direkt vor der Zeile für das Feld Land ausgelöst.
adt_general_feed_settings_after_shipping_countriesFeuert im Tab „Allgemein“ direkt nach der Zeile „Alle Versandländer einschließen“. Dies ist neu in Product Feed Pro 13.5.7. So fügt Product Feed Elite seinen Schalter „Nur die günstigste Versandmethode pro Land anzeigen“ hinzu, was es zu einem bewährten Ort macht, um Ihre eigene Zeile zum Tab „Allgemein“ hinzuzufügen.
adt_general_feed_settings_after_refresh_intervalFeuert im Tab „Allgemein“ direkt nach der Zeile „Aktualisierungsintervall“.

Feed-Generierung und Stapelverarbeitung

HakenDetail
woosea_before_get_productsFeuert einmal pro Feed-Generierungsstapel, direkt nachdem die Attribute, Regeln und Filter des Feeds aufgelöst wurden und kurz bevor das Plugin beginnt, Produkte abzufragen.
adt_before_yandex_create_xml_feedFeuert unmittelbar bevor das Plugin die XML-Struktur für einen Feed im Yandex-Format erstellt.
adt_before_product_feed_batch_processingFeuert kurz bevor jeder Stapel von Produkten während der Feed-Generierung verarbeitet wird. Empfängt die Feed-ID, den aktuellen Offset und die Größe des Stapels, der ausgeführt werden soll.
adt_after_product_feed_generationFeuert, nachdem ein vollständiger Feed-Generierungslauf abgeschlossen ist und die endgültige Feed-Datei vorhanden ist. Ein guter Hook für Aufgaben nach der Generierung wie Benachrichtigungen oder Cache-Leerung.

Filter

Filter sind Hooks, die Daten modifizieren, bevor sie verwendet werden, sei es ein im Admin angezeigter Wert, eine Abfrage oder Daten, die in die Feed-Datei geschrieben werden.

Filter- und Regel-Engine

Die Tabs „Filter“ und „Regeln“ von Product Feed Pro ermöglichen es einem Shop-Betreiber, Produkte basierend auf Bedingungen einzuschließen, auszuschließen oder zu transformieren. Diese Filter erweitern diese Engine.

HakenDetail
adt_pfp_get_filters_rules_conditionsFiltert die Liste der Vergleichsbedingungen, die beim Erstellen eines Filters oder einer Regel verfügbar sind (z. B. „Enthält“, „Zwischen“), und ermöglicht es Ihnen, eigene Bedingungstypen zum Dropdown hinzuzufügen.
adt_pfp_evaluate_filters_rules_conditionErmöglicht die Auflösung eines benutzerdefinierten Bedingungstyps, den die eigene Bedingungsliste des Plugins nicht behandelt, wenn ein Filter oder eine Regel ein Produkt auswertet. Geben Sie true oder false zurück, um es aufzulösen, oder übergeben Sie das eingehende null, um auf die Standardeinstellung des Plugins zurückzufallen (nicht behandelte Bedingungen werden standardmäßig übergeben). Verwenden Sie dies zusammen mit adt_pfp_get_filters_rules_conditions. Das Registrieren einer Bedingung im Dropdown, ohne sie hier zu behandeln, führt dazu, dass die Bedingung nichts tut, wenn ein Feed ausgeführt wird.
adt_pfp_get_filters_rules_attributesFiltert die gruppierte Liste der Attribute, die in den Dropdown-Menüs des Filter- und Regel-Builders angeboten werden. Empfängt die Attributliste, den Kanal des Feeds, ob Sie einen Filter oder eine Regel erstellen, und den Feed selbst (null für einen Feed, der noch nicht gespeichert wurde).
adt_pfp_get_rules_actionsFiltert die Liste der Aktionen, die im „dann“-Dropdown einer Regel verfügbar sind (wie „Wert festlegen“ oder „Felder kombinieren“), und ermöglicht es Ihnen, Ihre eigenen Regelaktionen zu registrieren.
adt_pfp_apply_rule_actionsFiltert die Feed-Daten eines Produkts, nachdem die konfigurierten Aktionen einer Regel darauf angewendet wurden.
adt_pfp_process_rules_actionFiltert die Feed-Daten eines Produkts, nachdem eine einzelne Regelaktion verarbeitet wurde, innerhalb der Schleife, die jede Aktion nacheinander ausführt.
adt_pfp_filter_product_feed_dataFiltert die endgültigen Produktdaten eines Produkts, nachdem die Filter des Feeds ausgeführt wurden. Dies wird auch von der Legacy-Filter-Engine und zweimal vom Google Product Review Feed Builder ausgelöst.
adt_pfp_maybe_skip_filterFiltert, ob eine bestimmte Legacy-Filterregel vollständig übersprungen werden soll, auf Websites, die noch die Legacy-Filter-Engine verwenden.
adt_pfp_filter_passed_product_feedFiltert, ob ein Produkt alle Legacy-Filterregeln des Feeds insgesamt bestanden hat.

Produktdaten und Feed-Ausgabe

HakenDetail
adt_get_product_dataFiltert das vollständige Datenarray für ein einzelnes Produkt, kurz bevor es an die Filter- und Regelsengine und dann an die Feed-Datei übergeben wird. Dies ist der Haupt-Hook, um alles daran zu ändern, wie ein Produkt in einem Feed erscheint.
adt_feed_get_attributesFiltert die konfigurierte Attributzuordnungsliste des Feeds, sowohl zu Beginn der Feed-Generierung als auch erneut pro Produkt während der Wertberechnung.
adt_product_feed_get_products_query_argsFiltert die vollständigen WP_Query-Argumente, die zum Abrufen des Produktbatches für die Feed-Generierung verwendet werden.
adt_product_feed_get_product_idFiltert die Produkt-ID, die für den aktuellen Artikel in der Schleife verarbeitet wird, kurz bevor das Plugin das Produktobjekt lädt.
adt_product_feed_filter_catalog_visibilityFiltert die Liste der Katalog-Sichtbarkeitswerte, die ein Produkt aus dem Feed ausschließen sollen.
adt_product_data_availability_formatFiltert den endgültigen Verfügbarkeitswert (wie „auf Lager“ oder „nicht auf Lager“) für ein Produkt, nachdem die kanal-spezifische Zuordnung des Plugins ausgeführt wurde.
adt_product_feed_data_rounded_price_number_of_decimalsFiltert die Anzahl der Dezimalstellen, die verwendet werden, wenn das Plugin gerundete Preisvarianten für ein Produkt berechnet.
adt_product_feed_data_rounded_price_precisionsFiltert die Rundungspräzision, die an PHP's round() für diese gerundeten Preisvarianten übergeben wird.
adt_product_feed_data_rounded_price_modeFiltert die PHP-Rundungsmodus-Konstante (z. B. PHP_ROUND_HALF_UP), die für gerundete Preisvarianten verwendet wird.
adt_product_feed_installment_currencyFiltert den Währungscode, der beim Erstellen des Ratenkauftextes eines Produkts verwendet wird.
adt_merkandi_pricing_tiersFiltert eine Liste von mengenbasierten Preisstaffeln für ein Produkt im Merkandi-Format für Großhandels- oder Mengenpreisintegrationen. Wenn dies ein nicht leeres Array zurückgibt, rendert das Plugin einen Preisblock anstelle eines Festpreises.
adt_pfp_google_shopping_feed_channel_linkFiltert den Website-Link, der in die Kopfzeile einer Google Shopping-Format-Feed-Datei geschrieben wird.
adt_pfp_feed_channel_linkFiltert das Channel-Link-Element für die RSS-Feed-Formate Yandex, Zap.co.il, Salidzini.lv und Pinterest Board.
adt_product_feed_csv_headerFiltert die Kopfzeilen-Zeichenkette, bevor sie als erste Zeile eines CSV- oder TXT-Format-Feeds geschrieben wird.
adt_product_feed_csv_row_dataFiltert das Array von Werten, die eine einzelne CSV- oder TXT-Zeile bilden, bevor sie in die Feed-Datei geschrieben werden.
adt_product_feed_jsonl_productFiltert die Daten eines einzelnen Produkts, bevor es dem Batch hinzugefügt wird, nur für Feeds im JSONL- und JSONL.GZ-Format.
adt_product_feed_preview_productsFiltert die Zielanzahl von Produkten, die enthalten sein sollen, wenn ein Feed im Vorschau-Modus generiert wird (Standard ist 5).
adt_product_feed_preview_batch_sizeFiltert die Batch-Größe der Abfrage, die beim wiederholten Abfragen von Produkten im Vorschau-Modus verwendet wird, bis die Zielanzahl erreicht ist.
adt_product_feed_preview_max_queriesFiltert die maximale Anzahl von Batch-Abfragen, die der Vorschau-Modus ausführt, bevor er aufgibt.
adt_product_feed_utm_code_arrayFiltert das Array von Google Analytics UTM-Parametern, bevor sie zu einer Abfragezeichenfolge zusammengesetzt und an den Feed-Link eines Produkts angehängt werden.
adt_product_feed_append_utm_codeFiltert die endgültige zusammengesetzte UTM-Abfragezeichenfolge, kurz bevor sie an den Feed-Link eines Produkts angehängt wird.

Adaptive Batch-Größenanpassung

Neu in Product Feed Pro 13.5.7. Anstatt einer festen Anzahl von Produkten pro Batch kann das Plugin jetzt jeden Batch automatisch anhand der Dauer und des Speicherverbrauchs des vorherigen Batches dimensionieren. Diese Filter geben Ihnen die Kontrolle über dieses Verhalten.

HakenDetail
adt_product_feed_adaptive_batch_enabledFiltert, ob die adaptive Batch-Größenanpassung für einen Feed überhaupt verwendet wird (standardmäßig aktiviert, es sei denn, der Benutzer hat manuell eine Batch-Größe in den Feed-Einstellungen festgelegt). Geben Sie false zurück, um diesen Feed ohne Änderung der Einstellungen zum alten Verhalten mit fester Größe zurückzukehren. Dies ist der erste Filter, den Sie verwenden sollten, um zu diagnostizieren, ob die adaptive Größenanpassung an einem Problem bei der Feed-Generierung beteiligt ist.
adt_product_feed_batch_sizeFiltert die Start-Batch-Größe für einen Feed, bevor die adaptive Größenanpassung für spätere Batches übernimmt.
adt_product_feed_batch_time_budgetFiltert das Zeitbudget pro Batch in Sekunden, das die adaptive Größenanpassung einzuhalten versucht.
adt_product_feed_memory_limit_bytesFiltert die Speichergrenze in Bytes, die vom adaptiven Größenanpassungs-Speicherschutz verwendet wird. Die Rückgabe von 0 deaktiviert den Speicherschutz.
adt_product_feed_adaptive_next_batch_sizeFiltert die vom Plugin berechnete Größe für den nächsten Batch, sodass Sie das letzte Wort über den angepassten Wert haben.
adt_product_feed_memory_warning_thresholdFiltert die Speicher-Schwellenwert in Bytes, der eine Warnung bei geringem Speicherplatz in den Protokollen während der Stapelverarbeitung auslöst (wird nur ausgelöst, wenn die Protokollierung aktiviert ist).

Exportieren und importieren

HakenDetail
adt_pfp_export_feed_data_propertiesFiltert die Liste der Feed-Eigenschaftsschlüssel, die enthalten sind, wenn ein Feed über das Export/Import-Tool exportiert wird. Neu in Product Feed Pro 13.5.7, damit ein Add-on seine eigenen Feed-Eigenschaften registrieren und sie durch Export und Import weitergeben kann. Jede Eigenschaft, die ein Feed nicht tatsächlich hat, wird sicher übersprungen.
adt_tools_action_import_feedsLöst eine Aktion aus, keine Filterung, wenn ein Benutzer im Export/Import-Tool auf Feeds importieren klickt. Product Feed Pro selbst enthält keine Importlogik, daher hängen sich Elite und andere Add-ons hier ein, um den eigentlichen Import durchzuführen.
adt_update_version_13_3_5_before_save_feedFiltert ein Feed-Objekt während der einmaligen Upgrade-Routine, die Legacy-Cron-basierte Feeds in den aktuellen Feed-Post-Typ migriert hat. Nur relevant, wenn Sie diesen historischen Migrationspfad anpassen.

Versanddaten

HakenDetail
adt_product_feed_shipping_cost_currencyFiltert den Währungscode, der bei der Berechnung der Versandkosten für einen Feed verwendet wird.
adt_product_feed_shipping_product_priceFiltert den Produktpreis, der als Basis für die Berechnung der Versandkosten verwendet wird.
adt_product_feed_shipping_dataFiltert das vollständige Versanddaten-Array für ein Produkt, die endgültige Ausgabe der Versanddaten-Pipeline.
adt_product_feed_shipping_countriesFiltert die aufgelöste Liste von Ländern für Versandzonen, die auf "Überall" gesetzt sind.
adt_product_feed_shipping_packageFiltert das intern erstellte synthetische Versandpaket, bevor es zur Ratenberechnung von WooCommerce übergeben wird.
adt_product_feed_shipping_arrayFiltert einen einzelnen Versandmethodeneintrag, bevor er zu den Versanddaten eines Produkts hinzugefügt wird. Wird einmal pro Rate ausgelöst, sowohl für reguläre Versandmethoden als auch für lokale Abholung.
adt_apply_shipping_taxFiltert, ob Steuern zusätzlich zu den berechneten Versandkosten erhoben werden.
adt_product_feed_convert_shipping_costFiltert den rohen Versandkostenwert, bevor er für den Feed formatiert wird.
adt_product_feed_shipping_cost_localize_price_argsFiltert die Argumente, die beim Formatieren der Versandkosten in ihre endgültige Anzeigestrings verwendet werden.
adt_product_feed_has_free_shipping_couponEin Short-Circuit-Filter, mit dem Sie die eigene Erkennung eines aktiven kostenlosen Versand-Coupons durch das Plugin überschreiben können, der bei der Auswertung von Regeln für kostenlosen Versand verwendet wird. Geben Sie true oder false zurück, um zu überschreiben, oder null, damit das Plugin seine eigene Prüfung durchführt.

Preise, Währung und Formatierung

HakenDetail
adt_product_data_currencyFiltert den Währungscode, der beim Erstellen der Produktdaten für den Feed verwendet wird.
adt_product_feed_currencyFiltert den Währungscode, der zur Auflösung von {{CURRENCY}}-Platzhaltern auf der Registerkarte „Feldzuordnung“ verwendet wird.
adt_pfp_localize_prices_dataFiltert die Produktdaten für den Feed, nachdem deren Preisangaben zur Anzeige lokalisiert wurden.
adt_product_feed_localize_price_argsFiltert die Argumente, die an die Preisformatierung von WooCommerce übergeben werden, wenn ein Preis für die Feed-Ausgabe lokalisiert wird.
adt_pfp_format_dateFiltert die endgültige formatierte Datumszeichenfolge, die in der Feed-Ausgabe verwendet wird, nachdem bereits eine kanal-spezifische Datumsformatierung durchgeführt wurde.
adt_format_refresh_interval_manage_feeds_tableFiltert die Beschriftungen des Aktualisierungsintervalls (wie „Stündlich“), die in der Tabelle „Feeds verwalten“ angezeigt werden.
adt_product_feed_refresh_interval_labelsFiltert die gleichen Beschriftungen des Aktualisierungsintervalls, die von einem anderen Teil der Admin-Oberfläche verwendet werden.
adt_product_feed_refresh_interval_optionsFiltert die Liste der Optionen für das Aktualisierungsintervall, die im Dropdown-Menü der Registerkarte „Allgemein“ angeboten werden.

Kategorien, Attribute und Feldzuordnung

HakenDetail
adt_pfp_get_categories_dropdown_argsFiltert die get_terms()-Argumente, die zum Erstellen des Dropdown-Menüs für Produktkategorien im Filter- und Regel-Builder verwendet werden.
adt_pfp_get_categories_dropdownFiltert die Liste der Kategoriebegriffe, die für dasselbe Dropdown-Menü zurückgegeben werden, nachdem die Abfrage ausgeführt wurde.
adt_product_feed_attributesFiltert die Masterliste der Standardattribute, die für die Feldzuordnung verfügbar sind.
adt_product_feed_dynamic_attributesFiltert die Liste der benutzerdefinierten, auf Taxonomien basierenden Attribute, die in der Benutzeroberfläche für die Feldzuordnung angeboten werden.
adt_product_feed_custom_attributesFiltert die Liste der benutzerdefinierten (nicht-taxonomischen) Produktattribute, die für die Feldzuordnung angeboten werden und 24 Stunden lang zwischengespeichert werden.
adt_product_feed_field_mapping_prefix_replaceFiltert die Platzhalter-Ersetzungszuordnung (wie {{CURRENCY}}), die zur Auflösung von Tokens im Präfixwert einer Feldzuordnungszeile verwendet wird.
adt_product_feed_field_mapping_suffix_replaceFiltert die gleiche Art von Ersetzungskarte für den Suffixwert einer Feldzuordnungszeile.

Aufträge und Verkäufe Rückblick

HakenDetail
adt_total_product_orders_lookback_todayFiltert das Referenzdatum „heute“, das bei der Berechnung des Auftragsrückblicks für das Attribut „Gesamtzahl der Produktbestellungen“ verwendet wird.
adt_total_product_orders_lookback_today_limitFiltert das früheste Datum, das abgefragt wird, um zu ermitteln, welche Bestellungen für diesen Rückblick zählen.
adt_total_product_orders_lookback_allowed_productsFiltert die endgültige Liste der Produkt- und Variations-IDs, die für diese Funktion als „kürzlich bestellt“ gelten.
adt_variation_total_sales_enable_cacheFiltert, ob das Plugin die Gesamtabsatzmenge einer Variation zwischenspeichert.
adt_variation_total_sales_cache_expirationFiltert, wie lange der zwischengespeicherte Gesamtabsatzwert in Sekunden aufbewahrt wird.
adt_invalidate_variation_sales_cache_idsFiltert, welche Variations-IDs ihren zwischengespeicherten Gesamtabsatzwert löschen, wenn sich der Status einer Bestellung ändert.

Admin-Seiten, Einstellungen und Benachrichtigungen

HakenDetail
adt_pfp_admin_capabilityFiltert die WordPress-Berechtigung, die zum Zugriff auf jede Product Feed Pro Admin-Seite erforderlich ist (Standard ist manage_options). Wird konsistent über jede Admin-Seitenklasse angewendet, sodass eine Änderung an einer Stelle den Zugriff überall ändert.
adt_manage_product_feed_allowed_rolesFiltert eine zusätzliche Liste von Benutzerrollen, die zusätzlich zur obigen Berechtigungsprüfung Feeds verwalten dürfen.
adt_license_page_tabsFiltert die Registerkarten, die auf der Admin-Seite „Lizenz“ angezeigt werden. Product Feed Pro selbst fügt keine Registerkarten hinzu, daher registrieren Elite und andere Add-ons hier ihre Lizenzregisterkarten.
adt_pfp_settings_page_tabsFiltert die Liste der Registerkarten auf der Admin-Seite „Einstellungen“.
adt_general_settings_argsFiltert die Felddefinitionen, die auf der Registerkarte „Allgemein“ der Einstellungsseite gerendert werden.
adt_settings_other_settings_argsFiltert die Felddefinitionen für die Registerkarte „Andere Einstellungen“ der Einstellungsseite.
adt_admin_plugin_page_titleFiltert den Seitentitel der übergeordneten Admin-Seite „Feeds verwalten“.
adt_admin_plugin_menu_titleFiltert den Labeltext des obersten Admin-Menüpunkts des Plugins (angezeigt als „Product Feed“ in der WordPress-Seitenleiste).
adt_pfp_feed_polling_intervalFiltert, wie oft (in Millisekunden) die Seite „Feeds verwalten“ den Server auf Aktualisierungen des Feed-Generierungsstatus abfragt.
adt_manage_feeds_row_actionsFiltert die Zeilenaktionslinks (Aktualisieren, Abbrechen, Löschen usw.), die für jeden Feed in der Tabelle „Feeds verwalten“ angezeigt werden.
adt_edit_feed_get_tabsFiltert die auf dem Bildschirm „Feed bearbeiten“ angezeigten Tabs.
adt_update_temp_product_feedFiltert die temporäre, ungespeicherte Feed-Konfiguration, während ein Benutzer den Bearbeitungs-Assistenten durchläuft, bevor der Feed abgeschlossen wird.
adt_edit_feed_general_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Allgemein“ gespeichert werden sollen, kurz bevor der Feed gespeichert wird.
adt_edit_feed_filters_rules_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des kombinierten Tabs „Filter & Regeln“ gespeichert werden sollen.
adt_edit_feed_filters_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Filter“ gespeichert werden sollen.
adt_edit_feed_rules_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Regeln“ gespeichert werden sollen.
adt_edit_feed_field_mapping_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Feldzuordnung“ gespeichert werden sollen.
adt_edit_feed_category_mapping_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Kategoriezuordnung“ gespeichert werden sollen.
adt_edit_feed_conversion_analytics_tab_propsFiltert die Feed-Eigenschaftswerte, die beim Absenden des Tabs „Conversions & Analysen“ gespeichert werden sollen.
adt_pfp_autoloaded_ajax_settingsFiltert, welche Einstellungen beim Speichern über den AJAX-Einstellungsendpunkt des Plugins mit aktivierter Autoload-Funktion gespeichert werden.
adt_pfp_allowed_ajax_settingsFiltert die Allowlist von Optionsnamen, die der AJAX-Endpunkt aktualisieren darf, sodass Begleit-Plugins sie mit eigenen Optionen mit dem Präfix adt_ erweitern können.
adt_pfp_regenerate_action_schedulers_countFiltert die laufende Anzahl der Feeds, die während der Routine „Scheduler neu generieren“ des Administrators neu generiert werden, und ermöglicht Add-ons, ihre eigenen geplanten Aktionen zur Gesamtzahl hinzuzufügen.
adt_pfp_cron_notices_dataFiltert die Liste der Cron-gesteuerten Benachrichtigungsdefinitionen und ermöglicht es Elite und anderen Add-ons, ihre eigenen Admin-Benachrichtigungen zu registrieren.
adt_pfp_show_noticeFiltert, ob eine bestimmte Admin-Benachrichtigung basierend auf ihrem Schlüssel, Kontext und ihren Daten angezeigt werden soll.
adt_pfp_get_all_admin_noticesFiltert die endgültige Liste der Admin-Benachrichtigungen, die an die Admin-Benutzeroberfläche zurückgegeben werden.
adt_pfp_show_get_elite_noticeFiltert, ob die "Get Elite"-Upsell-Benachrichtigung angezeigt wird.
adt_pfp_show_notice_bar_liteFiltert, ob die kostenlose Benachrichtigungsleiste auf den Admin-Seiten des Plugins angezeigt wird.
pfp_notice_bar_lite_upgrade_linkFiltert die URL "Upgrade to Elite", die in dieser Benachrichtigungsleiste angezeigt wird. Im Gegensatz zu den meisten Hooks in diesem Plugin verwendet dieser nicht das Präfix adt_.
adt_pfp_show_logo_upgrade_buttonFiltert, ob die "Upgrade to Elite"-Schaltfläche für das Logo in der Admin-Benutzeroberfläche angezeigt wird.
adt_is_plugin_pageFiltert, ob der aktuelle Admin-Bildschirm als Product Feed Pro- oder Elite-Seite zählt, um das Laden von Plugin-spezifischen Assets zu steuern.
postmeta_form_limitFiltert die Zeilenbegrenzung für die eigene Abfrage des Plugins, die interne adt_-Metaschlüssel aus dem Dropdown-Menü "Benutzerdefiniertes Feld hinzufügen" des klassischen Editors ausschließt. Das Plugin verwendet absichtlich denselben Filter namen wie der WordPress-Kern, damit vorhandene Callbacks, die bereits auf postmeta_form_limit abzielen, hier genauso funktionieren.
adt_kses_allowed_tagsFiltert die Liste der erlaubten HTML-Tags, die an den Admin-JavaScript des Plugins übergeben werden und für die clientseitige Bereinigung verwendet werden.
adt_kses_allowed_attrsFiltert die Liste der erlaubten HTML-Attribute, die zusammen mit adt_kses_allowed_tags an das Admin-JavaScript des Plugins übergeben werden.
adt_show_pfp_{menu_slug}_pageEin dynamischer Filter, einer pro Admin-Seite, benannt nach der Menü-Slug dieser Seite. Die Rückgabe von false verbirgt diese spezielle Admin-Seite.
adt_allowed_install_pluginsFiltert die Liste der Schwester-Plugins, die über den Ein-Klick-Installer des Plugins installiert werden dürfen.
adt_pfp_setup_checklist_sister_pluginsFiltert die Liste der Schwester-Plugins, die in der Onboarding-Checkliste vorgeschlagen werden.
adt_pfp_setup_checklist_eligibleFiltert, ob die aktuelle Website überhaupt für die Anzeige der Setup-Checkliste berechtigt ist (standardmäßig sind nur frische Installationen berechtigt).
adt_pfp_show_setup_checklistFiltert, ob die Einrichtungs-Checkliste überhaupt angezeigt wird.
adt_pfp_setup_checklist_stepsFiltert das Array der Onboarding-Checklisten-Schritte, die auf der Seite "Feeds verwalten" angezeigt werden.

Bereinigung und HTML-Ausgabe

HakenDetail
adt_product_feed_allowed_html_tagsFiltert, welche HTML-Tags die Bereinigung für Feed-Kanäle überleben, die eine begrenzte HTML-Formatierung unterstützen, wie z. B. Google Merchant Center.
adt_product_feed_pure_plain_text_contentFiltert den vollständig in reinen Text umgewandelten Inhalt, der für Kanäle verwendet wird, die reinen Text ohne HTML erfordern, wie z. B. Pinterest.
adt_product_feed_legacy_project_hash_keyspaceFiltert den Zeichensatz, der zum Generieren des Legacy-Projekt-Hashs eines Feeds verwendet wird.

Abilities API und Tracking

Product Feed Pro registriert eine Reihe von Aktionen bei der WordPress Abilities API, einem aufkommenden Standard zum Auslagern von Plugin-Funktionalitäten an KI-Agenten und Automatisierungstools.

HakenDetail
adt_pfp_enable_abilitiesFiltert, ob sich das Plugin überhaupt bei der Abilities API registriert.
adt_pfp_ability_tracking_statusFiltert das Array des Tracking- und Integrationsstatus, das von der Fähigkeit „Tracking-Status abrufen“ zurückgegeben wird, sodass Elite Einträge überschreiben kann, die dieses Basis-Plugin nicht besitzt, wie z. B. der tatsächliche Status der Facebook Conversions API.

Assets und Post-Typ

HakenDetail
adt_product_feed_cpt_argsFiltert die Registrierungsargumente für den internen adt_feed Custom Post Type des Plugins.
adt_product_feed_dataFiltert das Standard-Datenarray, das für jedes neue Feed-Objekt erstellt wird, sodass anderer Code zusätzliche Standardeigenschaften registrieren kann.
adt_product_feed_max_history_productsFiltert, wie viele historische Produktanzahl-Snapshots pro Feed gespeichert werden.
adt_pfp_enable_subresource_integrity_checkFiltert, ob das Plugin Subresource Integrity Attribute zu seinen eigenen erstellten Skript- und Tag-Tags in der Produktion hinzufügt.
adt_facebook_pixel_post_idFiltert die Post-ID, die zur Auflösung des aktuellen Produkts für das Facebook Pixel Event-Tracking verwendet wird. Nützlich, wenn der globale Post-Kontext nicht mit dem tatsächlich angezeigten Produkt übereinstimmt.
adt_pfp_enqueue_add_cart_scriptFiltert, ob das Add-to-Cart-Klick-Tracking-Skript des Plugins auf der aktuellen Seite geladen wird.

Häufige Anpassungsbeispiele

Diese Beispiele verwenden echte Hook-Signaturen, die gegen den aktuellen Plugin-Code verifiziert wurden. Fügen Sie sie zu einem benutzerdefinierten Plugin oder zur functions.php Ihres Themes hinzu.

Fügen Sie Ihre eigene Feed-Eigenschaft zu Export/Import hinzu

adt_pfp_export_feed_data_properties empfängt die Liste der Product_Feed-Eigenschaftsschlüssel, die das Export/Import-Tool liest, plus den zu exportierenden Feed:

add_filter( 'adt_pfp_export_feed_data_properties', 'my_custom_export_property', 10, 2 );
function my_custom_export_property( $data_properties, $feed ) {
    $data_properties[] = 'my_custom_property';
    return $data_properties;
}

Jede Eigenschaft, die Ihr Code hinzufügt und die das Feed-Objekt nicht tatsächlich hat, wird sicher übersprungen. Daher ist es sicher, dies auch für Eigenschaften hinzuzufügen, die nur vorhanden sind, wenn Ihr eigenes Add-on aktiv ist.

Fügen Sie eine Einstellungszeile zum Tab "Allgemein" hinzu

adt_general_feed_settings_after_shipping_countries wird direkt nach der Zeile "Alle Versandländer einschließen" im Tab "Allgemein" ausgelöst und empfängt den bearbeiteten Feed:

add_action( 'adt_general_feed_settings_after_shipping_countries', 'my_custom_general_tab_row' );
function my_custom_general_tab_row( $feed ) {
    echo '<tr><td>My setting</td><td>...</td></tr>';
}

Speichern Sie den Wert des neuen Feldes aus dem adt_edit_feed_general_tab_props-Filter, der ausgeführt wird, wenn das Formular des Tabs "Allgemein" übermittelt wird, damit Ihre Einstellung tatsächlich in den Feed geschrieben wird.

Registrieren und auswerten einer benutzerdefinierten Filterbedingung

Das Hinzufügen einer funktionierenden benutzerdefinierten Bedingung zum Filter- und Regel-Builder erfordert zwei Hooks zusammen: einen, um sie zum Dropdown-Menü hinzuzufügen, und einen, um sie auszuwerten, wenn ein Feed ausgeführt wird.

add_filter( 'adt_pfp_get_filters_rules_conditions', 'my_custom_condition' );
function my_custom_condition( $conditions ) {
    $conditions[] = array(
        'value' => 'starts_with',
        'label' => __( 'Starts with', 'my-textdomain' ),
    );
    return $conditions;
}

add_filter( 'adt_pfp_evaluate_filters_rules_condition', 'my_evaluate_starts_with', 10, 5 );
function my_evaluate_starts_with( $result, $condition, $product_value, $filter_value, $case_sensitive ) {
    if ( 'starts_with' !== $condition ) {
        return $result;
    }
    return 0 === ( $case_sensitive ? strpos( $product_value, $filter_value ) : stripos( $product_value, $filter_value ) );
}

Das Registrieren der Bedingung, ohne sie auch in adt_pfp_evaluate_filters_rules_condition zu behandeln, führt dazu, dass sie nichts tut, wenn ein Feed ausgeführt wird, da nichts dem Plugin sagt, wie es sie überprüfen soll.

Deaktivieren Sie die adaptive Stapelgrößenanpassung für einen Feed

adt_product_feed_adaptive_batch_enabled empfängt den aktuellen Standardwert und die ID des Feeds:

add_filter( 'adt_product_feed_adaptive_batch_enabled', 'my_disable_adaptive_batching', 10, 2 );
function my_disable_adaptive_batching( $enabled, $feed_id ) {
    if ( 123 === $feed_id ) {
        return false;
    }
    return $enabled;
}

Ersetzen Sie 123 durch die ID Ihres Feeds (sichtbar in der Bearbeitungs-URL des Feeds), damit dies nur diesen einen Feed betrifft und jeder andere Feed weiterhin adaptive Größenanpassung verwendet.

FAQ

Muss ich den Quellcode des Plugins lesen, um diese Hooks zu verwenden?
Nein. Sie benötigen nur den Hook-Namen, wann er ausgelöst wird und welche Argumente er übergibt, alles oben aufgeführt.
Werden sich diese Hook-Namen in einem zukünftigen Update ändern?
Hook-Namen sind Teil der öffentlichen API des Plugins, und AdTribes vermeidet es, sie ohne Vorankündigung umzubenennen. Testen Sie dennoch jeglichen benutzerdefinierten Code auf einer Staging-Website, nachdem Sie das Plugin aktualisiert haben.
Wo füge ich diesen Code hinzu?
Fügen Sie ihn zu einem benutzerdefinierten (standortspezifischen) Plugin hinzu oder zur functions.php Ihres aktiven Themes, wenn Sie kein Child-Theme verwenden. Bearbeiten Sie nicht die Dateien von Product Feed Pro direkt, da alle Änderungen dort beim nächsten Plugin-Update verloren gehen.

Benötigen Sie weitere Hilfe?

Wenn Sie Product Feed Elite oder ein anderes Premium-AdTribes-Plugin verwenden und Hilfe bei einer spezifischen Anpassung benötigen, öffnen Sie ein Support-Ticket und das Team kann Sie auf den richtigen Hook für Ihren Anwendungsfall hinweisen.

Wenn Sie das kostenlose Product Feed Pro-Plugin verwenden, stellen Sie Ihre Frage im WordPress.org-Supportforum.

War dieser Artikel hilfreich?

Verwandte Artikel

Schließen Sie Ihren Kauf ab
AdTribes WooCommerce Produkt-Feed

Das beste WooCommerce-Produktfeed-Plugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Ressourcen & Infos
Partner-Websites
Rymera