Voor bouwers
Het plaatsingsprincipe
Elk zichtbaar onderdeel plaatst zichzelf automatisch op de logische plek: op de productpagina, in de winkelwagen, op de checkout of op de bedankpagina. Daarnaast is elk onderdeel ook zelf ergens neer te zetten, op drie manieren:
- Een shortcode.
- Een Gutenberg-blok. De blokken staan in de categorie WooCommerce en heten naar het onderdeel, bijvoorbeeld Verzendmeter of Betaalpagina: timer. Zoek in de blokkenlijst op die naam. Het herroepblok vind je door op “herroepen” te zoeken.
- Een Elementor-widget in de categorie Pure Shop. De widgets beginnen met “Pure:” en hebben elk een eigen Stijl-tab.
Alle drie lopen ze via hetzelfde renderpad. Je krijgt dus overal hetzelfde resultaat en dezelfde instellingen, ongeacht hoe je het plaatst. Heeft een onderdeel eigen instellingen, zoals het overzicht van betaalpagina’s, dan heten die in de shortcode, de zijbalk van het blok en de Elementor-widget hetzelfde.
Daarnaast is er de Elementor dynamic tag “Pure: Productattribuut” om een losse producteigenschap in je eigen templates te tonen. Dynamic tags vragen Elementor Pro.
Shortcodes van de basis
| Shortcode | Wat het toont |
|---|---|
[pure_pwc_add_to_cart] | bestelformulier, knoptekst instelbaar met button_text |
[pure_pwc_attribuut naam="verwerkingstijd"] | een producteigenschap, met optioneel label |
[pure_pwc_wishlist_button] | wensenlijst-knop voor het huidige product |
[pure_pwc_wishlist] | de wensenlijst zelf |
[pure_pwc_inpak] | de inpak-optie |
[pure_woo_herroeping] | de volledige herroep-functie |
[pure_woo_herroeping_link] | een losse herroep-link, tekst instelbaar met tekst |
[pure_pwc_staffel] | staffeltabel van de kortingsregels |
[pure_pwc_verzendmeter] | gratis-verzending-meter, beweegt live mee |
[pure_pwc_betaaliconen] | logo’s van je betaalmethodes |
[pure_pwc_sale] | overzicht van alle actie-producten, met kolommen en aantal |
De attribuut-shortcode kent deze opties: toon_label="ja", label="Je eigen tekst", scheiding=" / ", weergave="onder_elkaar" (elke waarde op een eigen regel) en fallback="3 tot 7 werkdagen".
Shortcodes van Pro
| Shortcode | Wat het toont |
|---|---|
[pure_pwc_extra_velden] | de extra velden van het product |
[pure_pwc_set_inhoud] | inhoud van een set of bundel |
[pure_pwc_set_upsell] | de melding dat dit product ook in een set zit |
[pure_pwc_aanvulling] | het “Iets vergeten?”-blok |
[pure_pwc_populaire_categorien aantal="4"] | seizoens-etalage met 3 of 4 categorie-tegels |
[pure_pwc_ss_signalen] | sociale signalen voor het product van de pagina |
[pure_pwc_bp_overzicht] | overzicht van je betaalpagina’s als kaarten |
Opties voor de sociale signalen: product_id, soorten (komma-lijst uit recent, kopers, kijkers, wenslijst, reviews, plan, bundel) en weergave (regel of popup).
Opties voor het overzicht van betaalpagina’s: kolommen (1 tot 4, standaard 3), sortering (nieuwste, oudste, titel, prijs_op, prijs_af), aantal (1 tot 48, standaard 12) en knoptekst. Voorbeeld:
[pure_pwc_bp_overzicht kolommen="3" sortering="prijs_op" aantal="6" knoptekst="Bekijk het aanbod"]
De blokken van de betaalpagina
Een betaalpagina is opgebouwd uit tien losse onderdelen. De generator zet ze voor je neer, maar je kunt ze ook zelf plaatsen of verschuiven. Elk onderdeel bestaat als shortcode, als blok en als Elementor-widget (Pure: Betaalpagina: …).
| Shortcode | Onderdeel |
|---|---|
[pure_pwc_bp_product] | productafbeelding |
[pure_pwc_bp_kop] | belofte-kop met subkop |
[pure_pwc_bp_bullets] | pluspunten |
[pure_pwc_bp_garantie] | garantie |
[pure_pwc_bp_reviews] | reviews |
[pure_pwc_bp_bedrijf] | bedrijfsgegevens |
[pure_pwc_bp_trust] | vertrouwensregels |
[pure_pwc_bp_timer] | timer |
[pure_pwc_bp_varianten] | keuzetegels |
[pure_pwc_bp_afrekenblok] | het afrekenblok |
De onderdelen lezen de inhoud van de betaalpagina waar ze op staan. Zet je er een op een andere pagina, geef dan met pagina het id van de betaalpagina mee. Het reviews-onderdeel kent verder aantal, kolommen (1 tot 3), tag en bron (auto, product, tag, alles of woo).
De uitleg voor de shopeigenaar staat bij Betaalpagina en Overzicht van betaalpagina’s.
Pure Shop Filter
| Shortcode | Wat het toont |
|---|---|
[pure_pwf_filters] | de productfilters |
Het filter is er ook als Gutenberg-blok Productfilters, als gewone WordPress-widget en als Elementor-widget in de categorie Pure Shop Filter.
Waar je op moet letten
Module aan, licentie geldig. Een shortcode bestaat alleen als zijn module aan staat en de licentie geldig is. Is dat niet zo, dan verwerkt WordPress hem niet en staat de shortcode als kale tekst op je pagina. Alleen de bestelknop en het attribuut werken altijd.
Context. Onderdelen die over een product gaan hebben een productcontext nodig. In een Elementor product-template heb je die vanzelf, op een losse pagina niet.
Bestel-context. Het aanvullings-blok lost zelf veilig op om welke bestelling het gaat. Een bezoeker zonder geldige link ziet niets, dus je kunt het blok gerust op een openbare bedankpagina zetten.
Terugval. De attribuut-shortcode toont de terugvaltekst die je instelt wanneer een product het attribuut niet heeft, zodat je template geen gat krijgt.
Paginacache
Pure Shop houdt zelf alles buiten de paginacache wat de winkelwagen of de sessie raakt: winkelwagen, afrekenen (met de bedankpagina en de betaalpagina van een bestelling), mijn account, de wc-ajax-verzoeken, de REST-verzoeken die de wagen raken en elke pagina die kassakoopjes toont. Pro doet hetzelfde voor elke betaalpagina. Het werkt via de gebruikelijke signalen: de constanten DONOTCACHEPAGE, DONOTCACHEOBJECT en DONOTCACHEDB, no-cache-headers, X-Accel-Expires: 0 voor nginx en X-LiteSpeed-Cache-Control: no-cache voor LiteSpeed. Het staat altijd aan, ook zonder licentie.
Heb je een eigen pagina of route die bij een gewone weergave de wagen of de sessie raakt, haak dan aan:
| Hook | Soort | Wat je ermee doet |
|---|---|---|
pure_pwc_geen_cache_pagina | filter | Geef een korte reden terug (bijvoorbeeld mijn-pagina) om de huidige pagina uit de cache te houden. Een lege tekst betekent: gewoon cachen. |
pure_pwc_geen_cache_routes | filter | Lijst met regex-patronen op REST-routes die nooit gecachet mogen worden. Voeg je eigen route toe. |
pure_pwc_geen_cache | actie | Gaat af zodra een verzoek uit de cache is gehouden, met de reden. |
add_filter( 'pure_pwc_geen_cache_pagina', function ( $reden ) {
return is_page( 'mijn-configurator' ) ? 'configurator' : $reden;
} );
Filters en acties
De belangrijkste koppelpunten voor eigen code. Alle namen beginnen met pure_pwc_, die van Filter met pure_pwf_.
Uitbreiden
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_loaded | actie | Pure Shop is geladen. |
pure_pwc_register_modules | actie | Een eigen module aanmelden. |
pure_pwc_register_components | actie | Een eigen plaatsbaar onderdeel aanmelden (shortcode, blok en widget in één keer). |
pure_pwc_settings_voor_opslaan | filter | De ingevulde instellingen aanpassen voordat ze worden opgeslagen. |
Wensenlijst
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_wishlist_na_knop | filter | Eigen HTML direct na de wensenlijst-knop. |
pure_pwc_wishlist_item_acties | filter | Eigen acties per regel op de wensenlijst. |
pure_pwc_wishlist_na_lijst | actie | Na de lijst, met alle items. |
pure_pwc_wishlist_toegevoegd, pure_pwc_wishlist_verwijderd | actie | Een product is toegevoegd of verwijderd. |
pure_pwc_wishlist_definitief_gezet | actie | Een product is gemarkeerd als “komt niet meer terug”. |
Funnel
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_funnel_bump_html | filter | De weergave van een kassakoopje aanpassen. Je krijgt de HTML, de regel, het product, of het vinkje aan staat, de tekst en de positie. |
pure_pwc_funnel_bump_gekocht, pure_pwc_funnel_bump_geweigerd | actie | Een kassakoopje is gekocht of niet gekozen, met regel en bestelling. |
pure_pwc_funnel_upsell_getoond, pure_pwc_funnel_upsell_gekocht, pure_pwc_funnel_upsell_geweigerd | actie | Pro: het vervolgaanbod op de bedankpagina. |
Mail en licentie
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_mail_onderwerp, pure_pwc_mail_tekst, pure_pwc_mail_html | filter | Onderwerp, intro en HTML van de herroepingsbevestiging. Pro gebruikt ze voor de pagina E-mails (Pro). |
pure_pwc_licentie_producten | filter | De rijen op Pure Shop > Licentie. |
pure_pwc_licentie_acties | filter | Extra knoppen op die pagina en in de licentiemelding. |
Betaalpagina (Pro)
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_betaalpagina_gegenereerd | actie | Er is een betaalpagina gegenereerd, met pagina, product en editor. |
pure_pwc_betaalpagina_order, pure_pwc_betaalpagina_betaald | actie | Er is via een betaalpagina besteld of betaald, met bestelling en pagina. |
pure_pwc_bp_generator_verhaal, pure_pwc_bp_generator_afrekenen, pure_pwc_bp_generator_voet | filter | Welke onderdelen de generator in het verhaal, de afrekenkolom en de voet zet. |
pure_pwc_bp_varianten_html | filter | Eigen weergave van de keuzetegels. |
pure_pwc_bp_akkoord_onderdelen | filter | De zinnen bij het ene akkoord-vinkje. |
pure_pwc_bp_gateways_max, pure_pwc_bp_gateway_namen | filter | Hoeveel betaaltegels er staan (standaard vier) en hun korte namen. |
pure_pwc_bp_kopbalk_html, pure_pwc_bp_kopbalk_rechts | filter | De kopbalk met het logo en de vrije ruimte rechts ervan. |
pure_pwc_bp_ideal_zonder_bankkeuze | filter | Geef false terug om het bankkeuze-vak onder iDEAL te laten staan. |
pure_pwc_btw_label | filter | Het label “incl. btw” of “excl. btw” bij de prijzen. |
Abonnementen en machtiging (Pro)
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_abonnement_gestart | actie | Een abonnement is begonnen, met de bestelling en het plan. |
pure_pwc_abonnement_verlengd | actie | Een termijn is betaald. |
pure_pwc_abonnement_mislukt | actie | Een incasso is mislukt, met het aantal pogingen. |
pure_pwc_abonnement_tweede_respijt | actie | De tweede respijtperiode is ingegaan. |
pure_pwc_abonnement_gedegradeerd | actie | De respijtperiode is verstreken zonder betaling: het abonnement is stilgezet. |
pure_pwc_abonnement_gestopt | actie | Het abonnement is definitief gestopt. |
pure_pwc_abonnement_opgezegd | actie | Het abonnement is opgezegd. |
pure_pwc_abonnement_gewisseld | actie | De klant is van plan gewisseld, met het oude en het nieuwe plan. |
pure_pwc_abonnement_mandaat_ingetrokken | actie | De machtiging is ingetrokken. |
pure_pwc_mandaat_vastgelegd | actie | Er is een machtiging vastgelegd bij een bestelling. |
pure_pwc_mandaat_gewenst_checkout, pure_pwc_mandaat_gewenst_order | filter | Of er bij deze checkout of bestelling om een machtiging gevraagd wordt. |
Overig
| Hook | Soort | Waarvoor |
|---|---|---|
pure_pwc_ss_signalen | filter | Pro: de lijst sociale signalen voor een product aanpassen. |
pure_pwc_brievenbus_past, pure_pwc_brievenbus_ctx | filter | Pro: zelf bepalen of een winkelwagen door de brievenbus past. |
pure_pwf_facet_sources, pure_pwf_index_rows | filter | Filter: eigen filterbronnen en eigen rijen in de index. |
AI-toegang via de Abilities API
Pure Shop meldt zijn functies aan in de Abilities API van WordPress. Een AI-agent of een MCP-client die op je site is aangesloten ziet ze vanzelf. Andere clients gebruiken het REST-endpoint wp-abilities/v1 met een applicatiewachtwoord van een beheerder. Hiervoor heb je WordPress 6.9 of hoger nodig.
De abilities van Pure Shop basis en Pro staan in de naamruimte pure-shop/, die van Filter in pure-shop-filter/.
De zes generieke abilities
| Ability | Wat het doet |
|---|---|
pure-shop/get-context | Begin hier. Geeft de versie, de licentie, welke modules aan of uit staan, wat er niet werkt en waarom, de secties van de instellingen, de pagina’s en de beschikbare abilities. |
pure-shop/get-settings | De huidige instellingen met een JSON-schema van types en standaardwaarden, eventueel per sectie. |
pure-shop/update-settings | Instellingen wijzigen, met dezelfde controle als de instellingenpagina. Met dry_run zie je eerst het verschil. |
pure-shop/set-module | Een module aan of uit zetten. |
pure-shop/search-settings | Een instelling, tab of pagina zoeken op trefwoord. |
pure-shop/get-help | De ingebouwde help als platte tekst, per onderwerp. |
Wat er verder is
Bovenop de generieke set heeft de basis eigen abilities voor onder meer kortingsregels, voorwaarden, labels, kassakoopjes, de variant-weergave en de licentiestatus. pure-shop/list-components geeft alle plaatsbare onderdelen met hun shortcode, bloknaam en widget.
Pro voegt daar zijn eigen set aan toe, onder meer voor betaalpagina’s (list-checkout-pages, generate-checkout-page, get-checkout-page, update-checkout-page, delete-checkout-page), abonnementen (list-subscriptions, get-subscription, list-plans, set-plans, preview-plan-switch, switch-subscription-plan, cancel-subscription) en sociale signalen (get-social-proof, get-social-proof-stats). De actuele lijst vraag je op met pure-shop/get-context.
De spelregels
- Alleen beheerders en winkelbeheerders kunnen de abilities gebruiken.
- Elke ability die iets wijzigt kent
dry_run: je krijgt het verschil te zien zonder dat er iets wordt opgeslagen. - Een ability die iets verwijdert vraagt
confirm: true. - Staat een module uit of ontbreekt de licentie, dan antwoordt de ability met de reden in plaats van stil niets te doen. Zonder geldige licentie blijven van de eigen abilities van de basis alleen
list-components,get-license-statusenactivate-licensewerken.export-managed-datavan Pro werkt altijd. - De licentiesleutel wordt nooit teruggegeven.
- Producten, bestellingen en klanten zitten er bewust niet in. Daar heeft WooCommerce zijn eigen abilities voor.
Aan en uit
Onder Pure Plugins > Hub-instellingen staat de kaart AI-toegang. Daar zet je de toegang als geheel aan of uit, apart of er gewijzigd mag worden en per plugin of hij meedoet. Standaard staat alles aan. Elke wijziging via AI staat daaronder in het logboek Wijzigingen via AI. Meer uitleg staat bij Pure Core en AI-agents.
Bouw je met iets anders dan Elementor of Gutenberg?
Denk aan Bricks, Divi of Oxygen. Op dit moment leveren we blokken voor Gutenberg en widgets voor Elementor. De shortcodes werken sowieso overal, in elke builder die shortcodes accepteert, dus je kunt nu al alles plaatsen.
Werk je met een andere builder, laat het ons weten. Is er genoeg vraag naar een bepaalde builder, dan voegen we die ondersteuning er graag aan toe. Laat het weten via de contactpagina en vertel welke je gebruikt.
Techniek
Werkt met PHP 8.1 of hoger en WordPress 6.3 of hoger. Voor de AI-toegang is WordPress 6.9 of hoger nodig. Volledig HPOS-compatibel, de nieuwe manier waarop WooCommerce bestellingen opslaat. Werkt met de klassieke checkout en met de blok-checkout, waarbij de plugin het meldt wanneer een onderdeel in de blok-checkout niet kan werken.
De kortingsregels doen nul extra database-queries in de winkel. Pure Shop Filter werkt met een eigen index-tabel in plaats van meta-queries. Die index is uit te breiden met eigen bronnen en index-rijen via hooks.
Vertalen
Nederlands, Engels, Duits, Frans en Spaans zitten er volledig in. Voor een andere taal gebruik je het meegeleverde .pot-bestand.
Privacy en opruimen
Er zijn een AVG-exporter en een AVG-eraser voor wensenlijst- en herroep-gegevens. IP-adressen worden alleen als hash bewaard, met een bewaartermijn die je zelf instelt.
Deactiveren bewaart alles. Alleen wanneer onder Pure Shop > Instellingen > Beheer de optie Data wissen bij verwijderen aan staat en je de plugin verwijdert, gaan tabellen, opties, automatisch aangemaakte pagina’s en klantuploads mee weg.
Terug naar Pure Shop documentatie
Bijgewerkt voor Basis 1.0.75, Pro 1.0.80 op 5 oktober 2026