Aan de slag
Beschikbare hooks en filters in Product Feed Pro - AdTribes
  1. Home
  2. Kennisbank
  3. Aanpassing
  4. Beschikbare hooks en filters in Product Feed Pro

Beschikbare hooks en filters in Product Feed Pro

Product Feed Pro activeert een groot aantal WordPress actie- en filterhooks tijdens het maken van feeds, het genereren van feeds en de admin-schermen. Gebruik ze om uw eigen velden toe te voegen aan de feed-editor, te wijzigen welke gegevens in een feed terechtkomen, of de admin UI van de plugin uit te breiden zonder de plugin-bestanden direct te bewerken.

Dit is een ontwikkelaarsreferentie. Het gaat ervan uit dat u comfortabel bent met het toevoegen van code via een aangepaste plugin of het functions.php bestand van uw thema. Als u nieuw bent met WordPress hooks, lees dan eerst de WordPress Plugin Handbook over hooks.

Ook Product Feed Elite en andere AdTribes add-ons maken gebruik van veel van dezelfde hooks om Product Feed Pro uit te breiden. Waar een hook specifiek bestaat zodat een add-on kan inkapselen in het kern gedrag, wordt dat hieronder vermeld.

Hoe hooks passen in de feed-pipeline

Een feedgeneratieronde heeft drie fasen: de plugin lost de instellingen van de feed op en start een batch producten, het loopt over producten en bouwt de gegevensrij van elk product op, vervolgens schrijft het de voltooide rijen naar het feedbestand en rondt het af. Hooks onder Feedgeneratie en batchverwerking en de meeste filters onder Productgegevens en feeduitvoer worden geactiveerd tijdens de middelste fase, eenmaal per product of eenmaal per batch. Hooks onder Feed-editor wizard en Admin-pagina's, instellingen en meldingen worden alleen geactiveerd wanneer iemand de WordPress-admin gebruikt (een feed aanmaakt, bewerkt of beheert), niet tijdens een geplande feedverversing. Houd hier rekening mee bij het kiezen van een hook: een filter dat de gegevens van één product wijzigt, heeft alleen invloed op toekomstige feedgeneraties, terwijl een actie die is gekoppeld aan het scherm Feed-editor alleen wordt uitgevoerd wanneer een persoon actief in dat scherm werkt.

Acties

Acties zijn hooks die WordPress uitvoert op specifieke punten tijdens de uitvoering, of wanneer specifieke gebeurtenissen plaatsvinden.

Admin-pagina's, menu's en meldingen

HaakDetail
adt_pfp_help_menu_itemsWordt geactiveerd aan het einde van het Help-dropdownmenu in de admin-header van de plugin, na de ingebouwde bronnenlinks. Hiermee kunnen Elite en andere add-ons hun eigen Help-menu-items toevoegen. Omdat de header op elke Product Feed admin-pagina wordt weergegeven, moet uw callback zijn eigen uitvoer beperken tot de pagina's waar deze moet verschijnen.
adt_license_page_enqueue_scriptsWordt geactiveerd aan het einde van het laden van scripts op de Licentiepagina, waardoor add-ons hun eigen scripts of stijlen op dat scherm kunnen laden.
adt_license_page_contentWordt geactiveerd binnen het tabblad-inhoudsgebied van de Licentiepagina. Ontvangt de ID van het actieve tabblad en de volledige lijst van geregistreerde tabbladen, zodat elke add-on zijn eigen tabblad-inhoud kan weergeven alleen wanneer zijn tabblad actief is.
adt_pfp_settings_page_tab_contentWordt geactiveerd na het weergeven van de ingebouwde inhoud van de tabbladen op de Instellingenpagina, waardoor andere code inhoud kan toevoegen voor het actieve tabblad, inclusief een aangepast tabblad dat niet is ingebouwd in Product Feed Pro.
adt_pfp_settings_page_export_import_tab_contentFires aan het einde van het tabblad Instellingen → Exporteren/Importeren, na de ingebouwde optie "bestaande feeds overschrijven", voor add-ons die hun eigen export/import-controles willen toevoegen.
adt_edit_feed_tab_contentFires na de ingebouwde sjabloonweergave van de inhoud van het tabblad Feed bewerken, waardoor andere code inhoud kan toevoegen voor het actieve tabblad.
adt_pfp_manage_feeds_before_titleFires binnen de wrapper van de pagina Beheren Feeds, boven de paginatitel.
adt_pfp_manage_feeds_after_titleFires direct naast de paginatitel "Beheren Feeds", voor het injecteren van inhoud naast de kop.
adt_manage_feeds_table_row_actionsFires binnen de Acties-cel van elke rij in de tabel Beheren Feeds. Ontvangt het feed-object voor die rij, zodat add-ons hun eigen actielinks per feed kunnen toevoegen.
adt_pfp_after_display_admin_notice_genericFires direct nadat een algemene Product Feed admin-melding wordt weergegeven, zodat u extra markup kunt toevoegen.
adt_pfp_notice_updatedFires nadat de opgeslagen waarde van een admin-melding is gewijzigd, bijvoorbeeld wanneer een gebruiker deze sluit of uitstelt.
adt_pfp_before_dismiss_admin_noticeFires aan het begin van de AJAX-handler "admin-melding sluiten", voordat de opgeslagen waarde van de melding wordt bijgewerkt.
adt_after_register_adt_product_feed_post_typeFires direct nadat de plugin zijn interne adt_feed custom post type heeft geregistreerd, zodat andere code veilig kan vertrouwen op het feit dat het post type al beschikbaar is.
adt_after_migrate_to_custom_post_typeFires nadat de eenmalige migratie van legacy feed-gegevens naar het adt_feed custom post type is voltooid, geactiveerd vanaf de Instellingen-pagina.
adt_after_install_activate_pluginFires nadat de AJAX-handler "installeren en activeren" van de checklist heeft geprobeerd een zusterplugin te downloaden en te activeren. Ontvangt de gevraagde plugin-slug en het installatieresultaat.

Feed levenscyclus: aanmaken, klonen, verwijderen en annuleren

HaakDetail
adt_create_product_feed_before_saveFires vlak voordat een nieuw aangemaakte feed wordt opgeslagen, wanneer een feed wordt aangemaakt via de legacy aanmaak-feed flow. Dit is uw laatste kans om het feed-object te wijzigen voordat het naar de database wordt geschreven.
adt_clone_product_feed_before_saveFires vlak voordat een gekloonde feed wordt opgeslagen, op elke plek waar een feed kan worden gedupliceerd (de enkele kloonactie, de bulkdupliceeractie, WP-CLI en de Abilities API). Ontvangt de kloon in het geheugen en de originele feed waarvan deze is gekloond.
adt_after_clone_product_feedFires direct nadat een gekloonde feed is opgeslagen en het vernieuwingsschema is geregistreerd, via dezelfde kloontoegangspunten als adt_clone_product_feed_before_save.
adt_before_delete_product_feedFires direct voordat een feed wordt verwijderd, voordat de gegevens worden vernietigd. Fires op dezelfde manier vanuit de admin UI, WP-CLI en de Abilities API.
adt_after_delete_product_feedWordt direct geactiveerd nadat een feed is verwijderd, vanuit dezelfde toegangspunten als adt_before_delete_product_feed.
adt_before_cancel_product_feedWordt direct geactiveerd voordat de uitvoeringsstatus van een feed die bezig is wordt gereset en de status verandert in Gestopt.
adt_after_cancel_product_feedWordt direct geactiveerd nadat de verwerking van een feed is geannuleerd, opgeslagen en de taak voor het bijwerken van de statistieken is in de wachtrij geplaatst.

Feed-editor: verwerkings-tabblad

Elk tabblad van het scherm Feed bewerken vuurt een paar hooks af wanneer het formulier wordt verzonden: een filter dat u kunt gebruiken om te wijzigen wat er wordt opgeslagen, en een actie die direct wordt geactiveerd nadat het is opgeslagen. Ze worden allemaal ook geactiveerd vanuit de equivalente Abilities API-actie waar deze bestaat.

HaakDetail
adt_after_process_general_tab_formWordt geactiveerd nadat de instellingen van het tabblad Algemeen zijn opgeslagen. Ontvangt de opgeslagen feed, de toegepaste eigenschappen en een kopie van de feed zoals deze was vóór de wijziging.
adt_after_process_filters_rules_tab_formWordt geactiveerd nadat het gecombineerde legacy-tabblad Filters & Regels is opgeslagen (alleen relevant op sites die nog steeds de instelling adt_use_legacy_filters_and_rules gebruiken).
adt_after_process_filters_tab_formWordt geactiveerd nadat het tabblad Filters is opgeslagen.
adt_after_process_rules_tab_formWordt geactiveerd nadat het tabblad Regels is opgeslagen.
adt_after_process_field_mapping_tab_formWordt geactiveerd nadat het tabblad Veldtoewijzing is opgeslagen.
adt_after_process_category_mapping_tab_formWordt geactiveerd nadat het tabblad Categorie-toewijzing is opgeslagen.
adt_after_process_conversion_analytics_tab_formWordt geactiveerd nadat de UTM-instellingen van het tabblad Conversie & Analyse zijn opgeslagen.
adt_process_tab_formWordt geactiveerd als fallback wanneer het verzonden tabblad niet overeenkomt met een van de ingebouwde tabbladen van Product Feed Pro, waardoor Elite of andere add-ons de formulierverwerking voor hun eigen aangepaste tabbladen kunnen afhandelen.

Feed-editor: sjabloon-injectiepunten

HaakDetail
adt_before_product_feed_manage_pageWordt geactiveerd bovenaan elk tabblad in de feed-editor, voordat de inhoud van dat tabblad wordt weergegeven. Ontvangt een $step-nummer dat aangeeft welk tabblad momenteel actief is (0 voor Algemeen, 1 voor Categorie-toewijzing, 4 voor Filters & Regels, 5 voor Conversie & Analyse, 7 voor Veldtoewijzing), zodat uw callback een specifiek tabblad kan targeten.
adt_general_feed_settings_before_country_fieldWordt geactiveerd op het tabblad Algemeen, net voordat de rij met het veld Land.
adt_general_feed_settings_after_shipping_countriesFires op het tabblad Algemeen, direct na de rij "Alle verzendlanden opnemen". Dit is nieuw in Product Feed Pro 13.5.7. Het is hoe Product Feed Elite zijn "Toon alleen de goedkoopste verzendmethode per land"-schakelaar toevoegt, wat het een bewezen plek maakt om uw eigen rij aan het tabblad Algemeen toe te voegen.
adt_general_feed_settings_after_refresh_intervalFires op het tabblad Algemeen, direct na de rij Vernieuwingsinterval.

Feedgeneratie en batchverwerking

HaakDetail
woosea_before_get_productsFires eenmaal per feedgeneratiebatch, direct na de attributen, regels en filters van de feed zijn opgelost en vlak voordat de plugin begint met het opvragen van producten.
adt_before_yandex_create_xml_feedFires direct voordat de plugin de hoofd-XML-structuur voor een feed in Yandex-indeling bouwt.
adt_before_product_feed_batch_processingFires direct voordat elke batch producten wordt verwerkt tijdens de feedgeneratie. Ontvangt de feed-ID, de huidige offset en de batchgrootte die op het punt staat te worden uitgevoerd.
adt_after_product_feed_generationFires nadat een volledige feedgeneratieronde is voltooid en het definitieve feedbestand op zijn plaats is. Een goede hook voor taken na generatie, zoals meldingen of cache opschonen.

Filters

Filters zijn hooks die gegevens wijzigen voordat ze worden gebruikt, of het nu een waarde is die in de admin wordt weergegeven, een query, of gegevens die naar het feedbestand worden geschreven.

Filters en regels-engine

De tabbladen Filters en Regels van Product Feed Pro laten een winkelier producten opnemen, uitsluiten of transformeren op basis van voorwaarden. Deze filters breiden die engine uit.

HaakDetail
adt_pfp_get_filters_rules_conditionsFiltert de lijst met vergelijkingsvoorwaarden die beschikbaar zijn bij het bouwen van een filter of regel (bijvoorbeeld "Bevat", "Tussen"), zodat u uw eigen voorwaardentypen aan de dropdown kunt toevoegen.
adt_pfp_evaluate_filters_rules_conditionHiermee kunt u een aangepast voorwaardentype oplossen dat de eigen voorwaardenlijst van de plugin niet afhandelt, wanneer een filter of regel een product evalueert. Retourneer true of false om het op te lossen, of geef de inkomende null door om terug te vallen op de standaardinstelling van de plugin (niet-afgehandelde voorwaarden worden standaard doorgelaten). Gebruik dit samen met adt_pfp_get_filters_rules_conditions. Het registreren van een voorwaarde in de dropdown zonder deze hier ook af te handelen, zorgt ervoor dat de voorwaarde niets doet wanneer een feed wordt uitgevoerd.
adt_pfp_get_filters_rules_attributesFiltert de gegroepeerde lijst met attributen die worden aangeboden in de dropdowns van de Filters en Regels-builder. Ontvangt de attributenlijst, het kanaal van de feed, of u een filter of een regel aan het bouwen bent, en de feed zelf (null voor een feed die nog niet is opgeslagen).
adt_pfp_get_rules_actionsFiltert de lijst met acties die beschikbaar zijn in de "dan"-dropdown van een Regel (zoals "Waarde instellen" of "Velden combineren"), zodat u uw eigen regelacties kunt registreren.
adt_pfp_apply_rule_actionsFiltert de feedgegevens van een product nadat de geconfigureerde acties van een regel erop zijn toegepast.
adt_pfp_process_rules_actionFiltert de feedgegevens van een product nadat een enkele regelactie is verwerkt, binnen de lus die elke actie achtereenvolgens uitvoert.
adt_pfp_filter_product_feed_dataFiltreert de uiteindelijke feedgegevens van een product nadat de filters van de feed zijn uitgevoerd. Dit wordt ook geactiveerd door de legacy Filters-engine en tweemaal door de Google Product Review feed builder.
adt_pfp_maybe_skip_filterFiltreert of een specifieke legacy filterregel volledig moet worden overgeslagen, op sites die nog steeds de legacy Filters-engine gebruiken.
adt_pfp_filter_passed_product_feedFiltreert of een product in het algemeen aan alle legacy filterregels van de feed heeft voldaan.

Productgegevens en feed-output

HaakDetail
adt_get_product_dataFiltreert de complete gegevensarray voor een enkel product, vlak voordat deze wordt doorgegeven aan de Filters en Rules-engine en vervolgens naar het feedbestand. Dit is de belangrijkste hook om iets te veranderen aan hoe een product in een feed verschijnt.
adt_feed_get_attributesFiltreert de geconfigureerde attribuutmappinglijst van de feed, zowel aan het begin van de feedgeneratie als opnieuw per product tijdens de berekening van de waarden.
adt_product_feed_get_products_query_argsFiltreert de volledige WP_Query argumenten die worden gebruikt om de batch producten voor feedgeneratie op te halen.
adt_product_feed_get_product_idFiltreert de product-ID die wordt verwerkt voor het huidige item in de loop, vlak voordat de plugin het productobject laadt.
adt_product_feed_filter_catalog_visibilityFiltreert de lijst met cataloguszichtbaarheidswaarden die een product uit de feed moeten uitsluiten.
adt_product_data_availability_formatFiltreert de uiteindelijke beschikbaarheidswaarde (zoals "op voorraad" of "niet op voorraad") voor een product, nadat de kanaalspecifieke mapping van de plugin zelf is uitgevoerd.
adt_product_feed_data_rounded_price_number_of_decimalsFiltreert het aantal decimalen dat wordt gebruikt wanneer de plugin afgeronde prijsvarianten voor een product berekent.
adt_product_feed_data_rounded_price_precisionsFiltreert de afrondingsprecisie die aan PHP's round() wordt doorgegeven voor die afgeronde prijsvarianten.
adt_product_feed_data_rounded_price_modeFiltreert de PHP-afrondingsmodusconstante (bijvoorbeeld PHP_ROUND_HALF_UP) die wordt gebruikt voor afgeronde prijsvarianten.
adt_product_feed_installment_currencyFiltreert de valutacode die wordt gebruikt bij het samenstellen van de "koop nu, betaal later"-termijnentekst van een product.
adt_merkandi_pricing_tiersFiltreert in een lijst met op hoeveelheden gebaseerde prijsniveaus voor een Merkandi-formaat product, voor groothandels- of kwantiteitsprijsintegraties. Wanneer dit een niet-lege array retourneert, rendert de plugin een prijsblok in plaats van een vaste prijs.
adt_pfp_google_shopping_feed_channel_linkFiltreert de sitelink die in de header van een Google Shopping-feedbestand is geschreven.
adt_pfp_feed_channel_linkFiltert het kanaal-specifieke link-element voor de Yandex, Zap.co.il, Salidzini.lv en Pinterest RSS Board feedformaten.
adt_product_feed_csv_headerFiltert de header-rij-string vlak voordat deze als eerste regel van een CSV- of TXT-feed wordt geschreven.
adt_product_feed_csv_row_dataFiltert de array met waarden die een enkele CSV- of TXT-rij vormen, vlak voordat deze naar het feedbestand wordt geschreven.
adt_product_feed_jsonl_productFiltert de gegevens van een enkel product voordat het aan de batch wordt toegevoegd, alleen voor JSONL- en JSONL.GZ-feedformaten.
adt_product_feed_preview_productsFiltert het doel aantal producten dat moet worden opgenomen wanneer een feed wordt gegenereerd in de preview-modus (standaard 5).
adt_product_feed_preview_batch_sizeFiltert de batchgrootte van de query die wordt gebruikt bij het herhaaldelijk opvragen van producten in de preview-modus totdat het doel aantal is bereikt.
adt_product_feed_preview_max_queriesFiltert het maximale aantal gebundelde queries dat de preview-modus uitvoert voordat deze wordt afgebroken.
adt_product_feed_utm_code_arrayFiltert de array met Google Analytics UTM-parameters voordat deze worden samengesteld tot een query string en worden toegevoegd aan de feedlink van een product.
adt_product_feed_append_utm_codeFiltert de definitief samengestelde UTM-query string, vlak voordat deze wordt toegevoegd aan de feedlink van een product.

Adaptieve batchgrootte

Nieuw in Product Feed Pro 13.5.7. In plaats van een vast aantal producten per batch, kan de plugin nu elke batch automatisch op grootte instellen op basis van hoe lang de vorige batch duurde en hoeveel geheugen deze gebruikte. Deze filters geven u controle over dat gedrag.

HaakDetail
adt_product_feed_adaptive_batch_enabledFiltert of adaptieve batchgrootte überhaupt wordt gebruikt voor een feed (standaard ingeschakeld, tenzij de gebruiker handmatig een batchgrootte heeft vastgezet in de instellingen van de feed). Retourneer false om die feed terug te zetten naar het oude gedrag met vaste grootte zonder instellingen te wijzigen. Dit is de filter waar u als eerste naar moet grijpen bij het diagnosticeren of adaptieve grootte een rol speelt bij een probleem met het genereren van feeds.
adt_product_feed_batch_sizeFiltert de start batchgrootte voor een feed, voordat adaptieve grootte het overneemt voor latere batches.
adt_product_feed_batch_time_budgetFiltert het tijdslimiet per batch, in seconden, dat adaptieve grootte probeert te respecteren.
adt_product_feed_memory_limit_bytesFiltert de geheugenlimiet, in bytes, die wordt gebruikt door de geheugenbewaker van adaptieve grootte. Het retourneren van 0 schakelt de geheugenbewaker uit.
adt_product_feed_adaptive_next_batch_sizeFiltert de grootte die de plugin heeft berekend voor de volgende batch, waardoor u het definitieve woord heeft over de aangepaste waarde.
adt_product_feed_memory_warning_thresholdFiltert de geheugendrempel, in bytes, die een waarschuwing voor weinig geheugen activeert in de logs tijdens batchverwerking (wordt alleen geactiveerd als het loggen is ingeschakeld).

Exporteren en importeren

HaakDetail
adt_pfp_export_feed_data_propertiesFiltert de lijst met feed-eigenschapssleutels die zijn opgenomen wanneer een feed wordt geëxporteerd via de Export/Import-tool. Nieuw in Product Feed Pro 13.5.7, zodat een add-on zijn eigen feed-eigenschappen kan registreren en deze via export en import kan laten rondreizen. Elke eigenschap die een feed niet daadwerkelijk heeft, wordt veilig overgeslagen.
adt_tools_action_import_feedsActiveert een actie, geen filter, wanneer een gebruiker op Feeds importeren klikt in de Export/Import-tool. Product Feed Pro zelf bevat geen importlogica, dus Elite en andere add-ons haken hier aan om de daadwerkelijke import uit te voeren.
adt_update_version_13_3_5_before_save_feedFiltert een feed-object tijdens de eenmalige upgrade-routine die legacy cron-gebaseerde feeds heeft gemigreerd naar het huidige feed-posttype. Alleen relevant als u dat historische migratiepad aanpast.

Verzendgegevens

HaakDetail
adt_product_feed_shipping_cost_currencyFiltert de valutacode die wordt gebruikt bij het berekenen van de verzendkosten voor een feed.
adt_product_feed_shipping_product_priceFiltert de productprijs die als basis wordt gebruikt voor de berekening van verzendtarieven.
adt_product_feed_shipping_dataFiltert de complete verzendgegevensarray voor een product, de uiteindelijke uitvoer van de verzendgegevenspijplijn.
adt_product_feed_shipping_countriesFiltert de opgeloste lijst met landen voor verzendzones ingesteld op "Overal".
adt_product_feed_shipping_packageFiltert het synthetische verzendpakket dat intern is gebouwd voordat het wordt doorgegeven aan de tariefberekening van WooCommerce.
adt_product_feed_shipping_arrayFiltert een enkele verzendmethode-invoer voordat deze wordt toegevoegd aan de verzendgegevens van een product. Wordt één keer per tarief geactiveerd, zowel voor reguliere verzendmethoden als voor lokale afhaling.
adt_apply_shipping_taxFiltert of belasting wordt toegepast bovenop de berekende verzendkosten.
adt_product_feed_convert_shipping_costFiltert de ruwe verzendkostenwaarde voordat deze wordt geformatteerd voor de feed.
adt_product_feed_shipping_cost_localize_price_argsFiltert de argumenten die worden gebruikt bij het formatteren van de verzendkosten naar de uiteindelijke weergavetekst.
adt_product_feed_has_free_shipping_couponEen short-circuit filter waarmee u de eigen detectie van de plugin van een actieve gratis verzendingscoupon kunt overschrijven, gebruikt bij het evalueren van Gratis Verzending-regels. Retourneer true of false om te overschrijven, of null om de plugin zijn eigen controle te laten uitvoeren.

Prijzen, valuta en opmaak

HaakDetail
adt_product_data_currencyFiltert de valutacode die wordt gebruikt bij het samenstellen van de feedgegevens van een product.
adt_product_feed_currencyFiltert de valutacode die wordt gebruikt om {{CURRENCY}}-placeholders op het tabblad Field Mapping op te lossen.
adt_pfp_localize_prices_dataFiltert de feedgegevens van een product nadat de prijsvelden zijn gelokaliseerd voor weergave.
adt_product_feed_localize_price_argsFiltert de argumenten die worden doorgegeven aan de prijsopmaak van WooCommerce bij het lokaliseren van een prijs voor feed-output.
adt_pfp_format_dateFiltert de definitieve opgemaakte datumtekenreeks die wordt gebruikt in de feed-output, nadat eventuele kanaalspecifieke datumopmaak al is uitgevoerd.
adt_format_refresh_interval_manage_feeds_tableFiltert de labels voor het vernieuwingsinterval (zoals 'Uurlijks') die worden weergegeven in de tabel Beheren Feeds.
adt_product_feed_refresh_interval_labelsFiltert hetzelfde soort labels voor het vernieuwingsinterval, gebruikt door een ander deel van de admin UI.
adt_product_feed_refresh_interval_optionsFiltert de lijst met keuzes voor het vernieuwingsinterval die worden aangeboden in de dropdown op het tabblad Algemeen.

Categorieën, attributen en veldmapping

HaakDetail
adt_pfp_get_categories_dropdown_argsFiltert de get_terms()-argumenten die worden gebruikt om de productcategorie-dropdown te bouwen in de builder Filters en Regels.
adt_pfp_get_categories_dropdownFiltert de lijst met categorietermen die worden geretourneerd voor dezelfde dropdown, nadat de query is uitgevoerd.
adt_product_feed_attributesFiltert de masterlijst met standaardattributen die beschikbaar zijn voor veldmapping.
adt_product_feed_dynamic_attributesFiltert de lijst met aangepaste (op taxonomie gebaseerde) attributen die worden aangeboden in de veldmapping UI.
adt_product_feed_custom_attributesFiltert de lijst met aangepaste (niet-taxonomie) productattributen die worden aangeboden voor veldmapping, 24 uur lang in de cache opgeslagen.
adt_product_feed_field_mapping_prefix_replaceFiltert de placeholder-vervangingskaart (zoals {{CURRENCY}}) die wordt gebruikt om tokens in de Prefix-waarde van een veldmappingrij op te lossen.
adt_product_feed_field_mapping_suffix_replaceFiltert het vervangingsmap van hetzelfde type voor de Suffix-waarde van een veldmappingrij.

Orders en verkopen terugkijkperiode

HaakDetail
adt_total_product_orders_lookback_todayFiltert de referentiedatum "vandaag" die wordt gebruikt bij het berekenen van het terugkijkvenster voor orders voor het attribuut Totaal aantal productorders.
adt_total_product_orders_lookback_today_limitFiltert de vroegste datumgrens die wordt gebruikt om te bevragen welke orders meetellen voor die terugkijkperiode.
adt_total_product_orders_lookback_allowed_productsFiltert de definitieve lijst met product- en variant-ID's die als "recent besteld" worden beschouwd voor die functie.
adt_variation_total_sales_enable_cacheFiltert of de plugin het totale verkoopcijfer van een variant in de cache opslaat.
adt_variation_total_sales_cache_expirationFiltert hoe lang, in seconden, de gecachte totale verkoopwaarde wordt bewaard.
adt_invalidate_variation_sales_cache_idsFiltert welke variant-ID's hun gecachte totale verkoopwaarde laten wissen wanneer de status van een order verandert.

Adminpagina's, instellingen en meldingen

HaakDetail
adt_pfp_admin_capabilityFiltert de WordPress-mogelijkheid die vereist is om toegang te krijgen tot elke Product Feed Pro adminpagina (standaard manage_options). Wordt consistent toegepast op elke adminpagina-klasse, dus het wijzigen ervan op één plek verandert de toegang overal.
adt_manage_product_feed_allowed_rolesFiltert een aanvullende lijst met gebruikersrollen, naast de bovenstaande mogelijkheidscontrole, die feeds mogen beheren.
adt_license_page_tabsFiltert de tabbladen die worden weergegeven op de adminpagina Licentie. Product Feed Pro voegt zelf geen tabbladen toe, dus Elite en andere add-ons registreren hier hun licentietabbladen.
adt_pfp_settings_page_tabsFiltert de lijst met tabbladen op de adminpagina Instellingen.
adt_general_settings_argsFiltert de veldddefinities die op het tabblad Algemeen van de instellingenpagina worden weergegeven.
adt_settings_other_settings_argsFiltert de veldddefinities voor het tabblad "Andere instellingen" van de instellingenpagina.
adt_admin_plugin_page_titleFiltert de paginatitel van de top-level "Manage Feeds" adminpagina.
adt_admin_plugin_menu_titleFiltreert de labeltekst van het hoofdmenu-item van de plugin (weergegeven als “Product Feed” in de WordPress-zijbalk).
adt_pfp_feed_polling_intervalFiltreert hoe vaak, in milliseconden, de Beheer Feeds-pagina de server bevraagt voor updates van de status van feedgeneratie.
adt_manage_feeds_row_actionsFiltreert de rijactielinks (Vernieuwen, Annuleren, Verwijderen, enzovoort) die voor elke feed in de tabel Beheer Feeds worden weergegeven.
adt_edit_feed_get_tabsFiltreert de set tabbladen die op het scherm Feed Bewerken worden weergegeven.
adt_update_temp_product_feedFiltreert de tijdelijke, onopgeslagen feedconfiguratie terwijl een gebruiker door de wizard Feed Bewerken stapt voordat de feed definitief wordt gemaakt.
adt_edit_feed_general_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Algemeen wordt verzonden, vlak voordat de feed wordt opgeslagen.
adt_edit_feed_filters_rules_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het oude gecombineerde tabblad Filters & Regels wordt verzonden.
adt_edit_feed_filters_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Filters wordt verzonden.
adt_edit_feed_rules_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Regels wordt verzonden.
adt_edit_feed_field_mapping_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Veldtoewijzing wordt verzonden.
adt_edit_feed_category_mapping_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Categorie-toewijzing wordt verzonden.
adt_edit_feed_conversion_analytics_tab_propsFiltreert de feed-eigenschapwaarden die worden opgeslagen wanneer het tabblad Conversie & Analyse wordt verzonden.
adt_pfp_autoloaded_ajax_settingsFiltreert welke instellingen, wanneer opgeslagen via het AJAX-instellingeneindpunt van de plugin, worden opgeslagen met autoload ingeschakeld.
adt_pfp_allowed_ajax_settingsFiltreert de allowlist van optienamen die het AJAX-eindpunt mag bijwerken, zodat aanvullende plugins deze kunnen uitbreiden met hun eigen opties met het voorvoegsel adt_.
adt_pfp_regenerate_action_schedulers_countFiltreert het lopende aantal feeds dat opnieuw wordt gegenereerd tijdens de routine "schedulers opnieuw genereren" van de admin, waardoor add-ons hun eigen geplande acties aan het totaal kunnen toevoegen.
adt_pfp_cron_notices_dataFiltreert de lijst met cron-gestuurde meldingdefinities, waardoor Elite en andere add-ons hun eigen beheerdersmeldingen kunnen registreren.
adt_pfp_show_noticeFiltreert of een specifieke beheerdersmelding moet worden weergegeven, op basis van de sleutel, context en gegevens.
adt_pfp_get_all_admin_noticesFiltreert de definitieve lijst met beheerdersmeldingen die aan de beheerdersinterface worden geretourneerd.
adt_pfp_show_get_elite_noticeFiltreert of de "Get Elite"-upsellmelding wordt weergegeven.
adt_pfp_show_notice_bar_liteFiltreert of de gratis versie-meldingsbalk wordt weergegeven op de beheerderspagina's van de plugin.
pfp_notice_bar_lite_upgrade_linkFiltreert de "Upgrade naar Elite"-URL die in die meldingsbalk wordt weergegeven. In tegenstelling tot de meeste hooks in deze plugin, gebruikt deze niet het adt_-voorvoegsel.
adt_pfp_show_logo_upgrade_buttonFiltreert of de "Upgrade naar Elite"-knop voor logo's wordt weergegeven in de beheerdersinterface.
adt_is_plugin_pageFiltreert of het huidige beheerscherm telt als een Product Feed Pro- of Elite-pagina, gebruikt om het laden van plugin-specifieke assets te beheren.
postmeta_form_limitFiltreert de rijlimiet op de eigen query van de plugin die interne adt_-metatags uitsluit van de dropdown "Aangepast veld toevoegen" van de klassieke editor. De plugin hergebruikt opzettelijk deze exacte filternaam van de WordPress-kern, zodat bestaande callbacks die al postmeta_form_limit targeten op dezelfde manier werken.
adt_kses_allowed_tagsFiltreert de lijst met toegestane HTML-tags die worden doorgegeven aan de beheerders-JavaScript van de plugin, gebruikt voor client-side opschoning.
adt_kses_allowed_attrsFiltreert de lijst met toegestane HTML-attributen die samen met adt_kses_allowed_tags worden doorgegeven aan de beheerders-JavaScript van de plugin.
adt_show_pfp_{menu_slug}_pageEen dynamisch filter, één per beheerderspagina, genoemd naar de menu-slug van die pagina. Als false wordt geretourneerd, wordt die specifieke beheerderspagina verborgen.
adt_allowed_install_pluginsFiltreert de lijst met zusterplugins die mogen worden geïnstalleerd via de one-click-installer van de plugin.
adt_pfp_setup_checklist_sister_pluginsFiltreert de lijst met zusterplugins die worden voorgesteld in de onboarding-checklist.
adt_pfp_setup_checklist_eligibleFiltreert of de huidige site überhaupt in aanmerking komt om de setup-checklist te zien (standaard komen alleen nieuwe installaties in aanmerking).
adt_pfp_show_setup_checklistFilters of de setup-checklist überhaupt wordt weergegeven.
adt_pfp_setup_checklist_stepsFilters de array van onboarding-checkliststappen die op de pagina Beheren Feeds worden weergegeven.

Sanering en HTML-uitvoer

HaakDetail
adt_product_feed_allowed_html_tagsFilters welke HTML-tags de sanering overleven voor feedkanalen die beperkte HTML-opmaak ondersteunen, zoals Google Merchant Center.
adt_product_feed_pure_plain_text_contentFilters de volledig naar platte tekst geconverteerde inhoud die wordt gebruikt voor kanalen die platte tekst zonder HTML vereisen, zoals Pinterest.
adt_product_feed_legacy_project_hash_keyspaceFilters de tekenset die wordt gebruikt om de project-hash in legacy-stijl van een feed te genereren.

Abilities API en tracking

Product Feed Pro registreert een reeks acties met de WordPress Abilities API, een opkomende standaard voor het blootstellen van plugin-functionaliteit aan AI-agenten en automatiseringshulpmiddelen.

HaakDetail
adt_pfp_enable_abilitiesFilters of de plugin zich überhaupt registreert bij de Abilities API.
adt_pfp_ability_tracking_statusFilters de tracking- en integratiestatusarray die wordt geretourneerd door de 'get tracking status'-ability, waardoor Elite vermeldingen kan overschrijven die deze basisplugin niet bezit, zoals de werkelijke Facebook Conversions API-status.

Assets en post type

HaakDetail
adt_product_feed_cpt_argsFilters de registratieargumenten voor het interne adt_feed custom post type van de plugin.
adt_product_feed_dataFilters de standaard data-array die voor elk nieuw feedobject wordt gebouwd, waardoor andere code aanvullende standaard-eigenschappen kan registreren.
adt_product_feed_max_history_productsFilters hoeveel historische snapshots van het productaantal per feed worden bewaard.
adt_pfp_enable_subresource_integrity_checkFilters of de plugin subresource integrity-attributen toevoegt aan zijn eigen ingebouwde script- en stylestags in productie.
adt_facebook_pixel_post_idFilters de post-ID die wordt gebruikt om het huidige product op te lossen voor Facebook Pixel-gebeurtenistracking, handig wanneer de globale postcontext niet overeenkomt met het daadwerkelijke product dat wordt bekeken.
adt_pfp_enqueue_add_cart_scriptFilters of het add-to-cart klik-tracking script van de plugin op de huidige pagina wordt geladen.

Veelvoorkomende aanpassingvoorbeelden

Deze voorbeelden gebruiken echte hook-handtekeningen die zijn geverifieerd tegen de huidige plugin-code. Voeg ze toe aan een aangepaste plugin of aan het functions.php-bestand van uw thema.

Voeg uw eigen feed-eigenschap toe aan Export/Import

adt_pfp_export_feed_data_properties ontvangt de lijst met Product_Feed-eigenschapssleutels die de Export/Import-tool leest, plus de feed die wordt geëxporteerd:

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;
}

Elke eigenschap die uw code toevoegt en die het feed-object niet daadwerkelijk heeft, wordt veilig overgeslagen, dus het is veilig om dit toe te voegen, zelfs voor eigenschappen die alleen bestaan wanneer uw eigen add-on actief is.

Voeg een instellingenrij toe aan het tabblad Algemeen

adt_general_feed_settings_after_shipping_countries wordt direct na de rij "Alle verzendlanden opnemen" op het tabblad Algemeen geactiveerd en ontvangt de feed die wordt bewerkt:

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>';
}

Sla de waarde van het nieuwe veld op via de adt_edit_feed_general_tab_props-filter, die wordt uitgevoerd wanneer het formulier van het tabblad Algemeen wordt verzonden, zodat uw instelling daadwerkelijk naar de feed wordt geschreven.

Registreer en evalueer een aangepaste filterconditie

Het toevoegen van een werkende aangepaste conditie aan de builder voor filters en regels vereist twee hooks samen: één om deze toe te voegen aan de dropdown, en één om deze te evalueren wanneer een feed wordt uitgevoerd.

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 ) );
}

Het registreren van de conditie zonder deze ook te verwerken in adt_pfp_evaluate_filters_rules_condition zorgt ervoor dat deze niets doet wanneer een feed wordt uitgevoerd, aangezien niets de plugin vertelt hoe deze moet worden gecontroleerd.

Schakel adaptieve batch-grootte uit voor één feed

adt_product_feed_adaptive_batch_enabled ontvangt de huidige standaardwaarde en de ID van de feed:

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;
}

Vervang 123 door de ID van uw feed (zichtbaar in de bewerkings-URL van de feed), zodat dit slechts één feed beïnvloedt en elke andere feed adaptieve dimensionering blijft gebruiken.

Veelgestelde vragen

Moet ik de broncode van de plugin lezen om deze hooks te gebruiken?
Nee. U hebt alleen de hook-naam nodig, wanneer deze wordt geactiveerd en welke argumenten deze doorgeeft, allemaal hierboven vermeld.
Zullen deze hook-namen veranderen in een toekomstige update?
Hook-namen maken deel uit van de openbare API van de plugin en AdTribes vermijdt het hernoemen ervan zonder kennisgeving. Test aangepaste code echter altijd op een staging-site na het updaten van de plugin.
Waar voeg ik deze code toe?
Voeg het toe aan een aangepaste (site-specifieke) plugin, of aan het functions.php-bestand van uw actieve thema als u geen child-thema gebruikt. Bewerk de bestanden van Product Feed Pro niet rechtstreeks, aangezien wijzigingen daar verloren gaan bij de volgende plugin-update.

Meer hulp nodig?

Als u Product Feed Elite of een andere premium AdTribes-plugin gebruikt en hulp nodig heeft met een specifieke aanpassing, opent u een ondersteuningsticket en het team kan u naar de juiste hook voor uw gebruikssituatie wijzen.

Als u de gratis Product Feed Pro-plugin gebruikt, stel uw vraag dan op het WordPress.org-ondersteuningsforum.

Was dit artikel nuttig?

Gerelateerde artikelen

Voltooi uw aankoop
AdTribes WooCommerce Productfeed

De beste WooCommerce productfeedplugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Product
Bronnen & Info
Partnerwebsites
Rymera