Visser Labs – WooCommerce Plugins

  1. Home
  2. Kennisbank
  3. WooCommerce Store Exporter Deluxe
  4. Beschikbare hooks en filters voor verdere aanpassing

Beschikbare hooks en filters voor verdere aanpassing

Store Exporter Deluxe vuurt een groot aantal WordPress actie- en filterhooks af gedurende het exportproces. Gebruik ze om uw eigen velden toe te voegen aan de exportformulieren, te wijzigen wat voor gegevens worden geëxporteerd, of om een geheel nieuw exporttype te integreren zonder de pluginbestanden 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 niet bekend bent met WordPress hooks, raadpleeg dan eerst de WordPress Plugin Handbook over hooks.

Sinds Store Exporter Deluxe v5.4.3 worden de admin-schermen van de plugin (Overzicht, Snelle Export, Geplande Exports, Instellingen, enzovoort) gerenderd door een Vue single-page app onder WooCommerce → Store Export. De meeste onderstaande hooks worden nog steeds afgevuurd vanuit dezelfde onderliggende PHP-functies als altijd, dus ze werken op dezelfde manier, ongeacht welk admin-scherm ze activeert. Een paar hooks die gekoppeld waren aan het oude exportformulier en het instellingenscherm worden niet langer afgevuurd: zie de opmerking onder Acties hieronder voor welke. De sectiekoppen groeperen hooks op basis van wat ze beïnvloeden, niet op basis van een specifieke tabbladnaam op het scherm.

Hoe hooks passen in de export-pipeline

Elke export, of deze nu is geactiveerd vanuit Snelle Export, een Geplande Export, of handmatige CRON, doorloopt dezelfde drie fasen:

  • Voorbereiden: de exporter opent het uitvoerbestand en schrijft de kolomkoppen. Voor XML- en RSS-exports regelen filters zoals wsed_export_xml_first_line en wsed_export_xml_store_node de openings-tags en de naam van de root-node voordat er rijen worden toegevoegd.
  • Verwerken: de exporter haalt records in batches op (standaard 100 records tegelijk, configureerbaar via de batch-grootte-instelling; geplande exports draaien niet in batches) en schrijft elke rij. Filters met de naam *_item (zoals woo_ce_product_item of woo_ce_order_item) worden hier uitgevoerd, één keer per record, waardoor u gegevens in die rij kunt wijzigen of toevoegen.
  • Afronden: de exporter sluit het bestand af, bijvoorbeeld door de XML-dataset af te sluiten met wsed_export_xml_after_dataset, en geeft het vervolgens vrij voor download, e-mail of archivering.

Houd hier rekening mee bij het kiezen van een hook: een _item filter wijzigt één record tegelijk tijdens het Verwerken, terwijl een _options actie (afgevuurd tijdens het admin-formulier, voordat het Voorbereiden zelfs begint) alleen het exportformulier dat u ziet beïnvloedt, niet de gegevens zelf.

Acties

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

Voordat de Vue SPA-herschrijving in v5.4.3, rendert Store Exporter Deluxe het Quick Export-formulier en het Instellingenscherm met verouderde PHP-sjablonen die hooks activeerden zoals woo_ce_export_options en woo_ce_export_settings_after, zodat u uw eigen velden eraan kon toevoegen. Die sjablonen maken geen deel meer uit van de huidige admin UI, dus die hooks worden niet meer geactiveerd. Als u afhankelijk was van een van deze om een aangepast veld toe te voegen aan het exportformulier of het Instellingenscherm, opent u een supportticket zodat ons team u kan helpen een werkend alternatief te vinden voor uw gebruikssituatie.

Vijf andere filters zijn volledig uit de codebase verwijderd, in plaats van onbereikbaar te zijn zoals de bovenstaande hooks. Deze zijn in 2023 en 2024 in niet-gerelateerde refactors gegaan, ruim vóór de v5.4.3 herschrijving, en geen van hen is eerst gedeprecieerd: woo_ce_setup_dataset_options, woo_ce_extend_order_fields_custom_order_hover, woo_ce_extend_order_fields_custom_order_item_hover, woo_ce_extend_order_fields_custom_product_hover, en woo_ce_get_order_items_variation_custom. Geen van deze wordt geactiveerd in de huidige plugin. De vergelijkbaar genoemde woo_ce_extend_order_fields_custom_user_hover, woo_ce_extend_product_fields_custom_product_hover, en woo_ce_get_order_items_variation_taxonomy zijn nog steeds beschikbaar voor gerelateerde velden (zie de secties Bestelling en Product hieronder). Als u een van de verwijderde filters nodig heeft, opent u een supportticket zodat ons team u kan helpen een werkend alternatief te vinden.

Bewerkingsscherm Geplande Export

Deze worden geactiveerd op het bewerkingsscherm van de Geplande Export, waar elke geplande export wordt opgeslagen en beheerd als zijn eigen bericht.

  • woo_ce_before_scheduled_export_general_options: Velden toevoegen aan het tabblad Algemeen
  • woo_ce_before_scheduled_export_type_options: Velden toevoegen aan het tabblad Type
  • woo_ce_before_scheduled_export_method_options: Velden toevoegen aan het tabblad Methode
  • woo_ce_before_scheduled_export_frequency_options: Velden toevoegen aan het tabblad Frequentie

Filters

Filters zijn hooks die gegevens wijzigen voordat ze worden gebruikt, of dat nu is voordat ze aan de database worden toegevoegd of voordat ze naar het exportbestand worden geschreven.

Algemeen

  • woo_ce_export_types: Voeg uw eigen exporttypen toe
  • woo_ce_sys_get_temp_dir: Overschrijf de standaard PHP tijdelijke map voor aangepaste paden
  • woo_ce_template_header: Overschrijf de standaard Store Exporter Deluxe header titel
  • woo_ce_admin_order_actions: Voeg uw eigen knoppen toe aan de kolom Acties op het scherm Bestellingen
  • woo_ce_display_admin_footer_text: Wijzig het WP Admin-voettekstbericht
  • woo_ce_modules_addons: Voeg uw eigen plugins toe aan de widget Export Modules
  • woo_ce_get_visitor_ip_address: Overschrijf het gedetecteerde CRON IP-adres
  • woo_ce_get_line_ending: Overschrijf het standaard regeleinde-teken
  • woo_ce_wc_price_decimal_sep
  • woo_ce_wc_price_thousands_sep
  • woo_ce_get_export_type_count: Overslaan van de exporttypeaantallen
  • woo_ce_scheduled_export_data_tabs: Voeg uw eigen tabbladen toe aan het scherm voor het bewerken van Geplande Export
  • woo_ce_admin_user_capability: Overslaan van de standaard vereiste gebruikersbevoegdheid om het scherm WooCommerce > Store Export te zien
  • woo_ce_admin_dashboard_user_capability: Overslaan van de standaard vereiste gebruikersbevoegdheid om de dashboardwidgets Geplande Exports en Recente Geplande Export te bekijken

Merk

  • woo_ce_brand_term_taxonomy: Overslaan van de standaard product_brand term taxonomie
  • woo_ce_get_product_brands_args: Voeg uw eigen WP_Query filters toe aan de Brands export

Categorie

  • woo_ce_category_item: Voeg ondersteuning toe voor extra Categoriekolommen
  • woo_ce_get_product_categories_args: Voeg uw eigen WP_Query filters toe aan de Categorieën export

Kortingscode

  • woo_ce_get_coupons_args: Voeg uw eigen WP_Query filters toe aan de Kortingscodes export
  • woo_ce_coupon_item: Voeg ondersteuning toe voor extra Kortingscodekolommen
  • woo_ce_coupon_smart_coupons_valid_for
  • woocommerce_coupon_discount_types: Voeg uw eigen kortingstypes voor kortingscodes toe

Commissie

  • woo_ce_get_commissions_args: Voeg uw eigen WP_Query filters toe aan de Commissies export

CRON

  • woo_ce_cron_export_post_args: Overslaan van de HTTP POST opties
  • woo_ce_email_recipient_name: Overslaan van de standaard naam van de e-mailontvanger
  • woo_ce_email_contents: Overslaan van de standaard e-mailinhoud
  • woo_ce_cron_export_ftp_switch: Wisselen tussen ftp_put en ftp_fput FTP-methoden
  • woo_ce_default_email_subject: Overslaan van het standaard onderwerp van de e-mail
  • woo_ce_trigger_new_order_items_formatting

Klant

  • woo_ce_customer_post_status: Overslaan van de standaard Klant post status doorgegeven aan WP_Query
  • woo_ce_extend_customer_fields_custom_customer_hover
  • woo_ce_extend_customer_fields_custom_user_hover

Volgorde

  • woo_ce_order_post_status: Overslaan van de standaard Bestelling post status doorgegeven aan WP_Query
  • woo_ce_extend_order_fields_product_addons
  • woo_ce_extend_order_fields_wccs
  • woo_ce_extend_order_fields_gf_label
  • woo_ce_extend_order_fields_gf_hover
  • woo_ce_extend_order_fields_attribute
  • woo_ce_extend_order_fields_custom_user_hover
  • woo_ce_get_orders_args: Voeg uw eigen WP_Query filters toe aan de Order export
  • woo_ce_get_order_id
  • woo_ce_get_order_data_billing_address
  • woo_ce_get_order_data_shipping_address
  • woo_ce_order_items_combined
  • woo_ce_order_items_unique
  • woo_ce_order: Voeg ondersteuning toe voor extra Order kolommen
  • woo_ce_get_order_assoc_shipping_method_id
  • woo_ce_get_order_assoc_notes_date
  • woo_ce_get_order_assoc_notes_customer
  • woo_ce_get_order_assoc_notes_order
  • woo_ce_enable_addon_gravity_forms
  • woo_ce_get_order_items_variation_taxonomy
  • woo_ce_order_item_custom_meta
  • woo_ce_order_item
  • woo_ce_order_item_types: Voeg uw eigen Order Item types toe
  • woo_ce_order_items_individual
  • woo_ce_add_unique_order_item_fields_on
  • woo_ce_add_unique_order_item_fields_exclusion
  • woo_ce_unique_order_item_column_id
  • woo_ce_unique_order_item_column_product_id
  • woo_ce_unique_order_item_columns
  • woo_ce_extend_order_items_unique_columns_gf_fields
  • woo_ce_get_order_shipping_methods

Product

  • woo_ce_get_export_type_product_count_post_types
  • woo_ce_extend_product_fields_custom_attribute_hover
  • woo_ce_extend_product_fields_custom_product_hover
  • woo_ce_get_products_post_type
  • woo_ce_get_products_status
  • woo_ce_get_products_args: Voeg uw eigen WP_Query filters toe aan de Producten export
  • woo_ce_product_item: Voeg ondersteuning toe voor extra Product kolommen
  • woo_ce_get_product_assoc_categories_size
  • woo_ce_format_product_types
  • woo_ce_unique_product_gallery_column
  • woo_ce_format_description_excerpt_allowed_html
  • woo_ce_format_description_excerpt_allowed_protocols
  • woo_ce_format_description_excerpt

Productleverancier

  • woo_ce_get_product_vendors_args: Voeg uw eigen WP_Query filters toe aan de Productleveranciers export
  • woo_ce_product_vendor: Voeg ondersteuning toe voor extra Productleverancier kolommen
  • woo_ce_product_vendor_term_taxonomy: Overschrijf de standaard wcpv_product_vendors term taxonomie

Verzendklasse

  • woo_ce_get_shipping_clases_args: Voeg uw eigen WP_Query filters toe aan de Verzendklassen export

Abonnement

  • woo_ce_get_subscriptions_args: Voeg uw eigen WP_Query filters toe aan de Abonnementen export
  • woo_ce_subscription: Voeg ondersteuning toe voor extra Abonnement kolommen
  • woo_ce_subscription_statuses
  • woo_ce_extend_subscription_fields_wc
  • woo_ce_extend_subscription_fields_custom_user_hover

Tag

  • woo_ce_get_product_tags_args: Voeg uw eigen WP_Query filters toe aan de Tags export

Gebruiker

  • woo_ce_extend_user_fields_wc
  • woo_ce_extend_user_fields_custom_user_hover
  • woo_ce_get_users_args: Voeg uw eigen WP_Query filters toe aan de Gebruikers export
  • woo_ce_get_user_data_full_name
  • woo_ce_user: Voeg ondersteuning toe voor extra Gebruiker kolommen

XML en RSS

Store Exporter Deluxe heeft twee code paden voor het genereren van XML en RSS uitvoer. Snelle Export en Geplande Exports gebruiken de wsed_ voorvoegsel filters hieronder. De woo_ce_ voorvoegsel equivalenten worden alleen geactiveerd voor exports die worden getriggerd via de legacy handmatige CRON URL. Als u XML of RSS uitvoer aanpast voor een Snelle Export of een Geplande Export, gebruik dan de wsed_ versie.

Handmatige CRON-export (verouderd)Snelle Export en Geplande Exports
woo_ce_export_xml_first_linewsed_export_xml_first_line
woo_ce_export_xml_store_nodewsed_export_xml_store_node
woo_ce_export_xml_before_datasetwsed_export_xml_before_dataset
woo_ce_export_xml_after_datasetwsed_export_xml_after_dataset
woo_ce_export_rss_first_line(geen Quick Export/Scheduled equivalent)
woo_ce_export_rss_channel_nodewsed_export_rss_channel_node

De volgende knooppuntfilters zijn van toepassing op beide code paden:

  • woo_ce_export_xml_product_node
  • woo_ce_export_xml_category_node
  • woo_ce_export_xml_tag_node
  • woo_ce_export_xml_brand_node
  • woo_ce_export_xml_order_node
  • woo_ce_export_xml_customer_node
  • woo_ce_export_xml_user_node
  • woo_ce_export_xml_coupon_node
  • woo_ce_export_xml_subscription_node
  • woo_ce_export_xml_product_vendor_node
  • woo_ce_export_xml_commission_node
  • woo_ce_export_xml_shipping_class_node

Veelvoorkomende aanpassingvoorbeelden

Deze voorbeelden tonen echte handtekeningen geverifieerd tegen de huidige plugin code. Voeg ze toe aan een aangepaste plugin of de functions.php van uw thema.

Voeg een aangepaste kolom toe aan de Producten export

woo_ce_product_item wordt één keer per product uitgevoerd tijdens de Process-fase. Het ontvangt de rijgegevensarray, de product-ID en het WC_Product-object:

add_filter( 'woo_ce_product_item', 'my_custom_product_column', 10, 3 );
function my_custom_product_column( $product, $product_id, $wc_product ) {
    $product['my_custom_field'] = get_post_meta( $product_id, '_my_custom_field', true );
    return $product;
}

Voeg de bijbehorende kolom-ID toe aan de lijst met velden van uw export in de sectie Exportvelden, zodat de nieuwe waarde daadwerkelijk in de uitvoer verschijnt.

Het toevoegen van uw eigen veld aan het Quick Export-formulier of het instellingenscherm is momenteel niet mogelijk via een hook. De Vue SPA die deze schermen rendert, biedt hiervoor nog geen extensiepunt. Als u dit nodig heeft, open een supportticket om uw use case te bespreken.

Voeg een aangepast tabblad toe aan het bewerkscherm van de Geplande Export

woo_ce_scheduled_export_data_tabs ontvangt de array van tabbladen die worden weergegeven op het bewerkscherm van de Geplande Export, elk met een tabblad-ID als sleutel met een label, een doel-element-ID en een CSS-klasse:

add_filter( 'woo_ce_scheduled_export_data_tabs', 'my_custom_scheduled_export_tab' );
function my_custom_scheduled_export_tab( $tabs ) {
    $tabs['my_tab'] = array(
        'label'  => __( 'My Tab', 'my-textdomain' ),
        'target' => 'my_tab_panel',
        'class'  => '',
    );
    return $tabs;
}

woo_ce_export_types voegt alleen een label toe aan de lijst met exporttypen die op plaatsen zoals de type-teller worden gebruikt. Het registreren van een volledig werkend nieuw exporttype betekent ook het toevoegen van een bijbehorende case aan de interne exporter dispatch, wat niet iets is wat een enkele filter kan doen. Als u een werkelijk nieuw exporttype nodig heeft, open een supportticket om uw use case te bespreken.

Veelgestelde vragen

Moet ik de interne werking van de plugin kennen om deze hooks te gebruiken?
Nee. U heeft alleen de hooknaam nodig, wanneer deze wordt geactiveerd en welke argumenten deze doorgeeft, die allemaal hierboven worden vermeld. U hoeft de broncode van de plugin niet te lezen om een hook te gebruiken.
Zullen deze hooks veranderen in een toekomstige update?
Hooknamen worden beschouwd als onderdeel van de publieke API van de plugin en Visser Labs vermijdt het hernoemen ervan zonder kennisgeving. Dat gezegd hebbende, test aangepaste code altijd tegen 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 theme-setup gebruikt. Bewerk de bestanden van Store Exporter Deluxe niet rechtstreeks. Wijzigingen daarin gaan verloren bij de volgende plugin-update.

Meer hulp nodig?

Als u Store Exporter Deluxe gebruikt en hulp nodig heeft met een specifieke aanpassing, open een supportticket en ons team kan u naar de juiste hook voor uw use case wijzen.

Als u de gratis Store Exporter plugin gebruikt, stel uw vraag op het WordPress.org supportforum.

Was dit artikel nuttig?

Gerelateerde artikelen

Bronnen & Hulp