Pluginconflicten
Pluginconflicten zijn een van de meest voorkomende oorzaken van problemen met WCPOS. Wanneer andere WordPress-plugins de functionaliteit van WooCommerce of WCPOS verstoren, kun je crashes, prestatieproblemen of onverwacht gedrag ondervinden.
Tekenen van pluginconflicten
Je hebt mogelijk een pluginconflict als je het volgende ervaart:
- Fatale fouten - "There has been a critical error on this website"
- Prestatieproblemen - Traag laden, time-outs of hoge serverbelasting
- Functionaliteitsproblemen - Functies werken niet zoals verwacht
- Synchronisatieproblemen met gegevens - Producten, bestellingen of klanten synchroniseren niet correct
- Problemen met betaalgateways - Afrekenfouten of fouten bij het verwerken van betalingen
Voordat je begint: gebruik een staging-site
Los pluginconflicten nooit op je live site op. Gebruik altijd een staging-omgeving om verstoring van je bedrijfsvoering te voorkomen.
Wat is een staging-site?
Een staging-site is een exacte kopie van je live website waar je veilig wijzigingen kunt testen zonder je klanten te beïnvloeden. De meeste moderne hostingproviders bieden staging-omgevingen als standaardfunctie.
Als je host geen staging aanbiedt
Als je hostingprovider geen staging-sites aanbiedt, overweeg dan om over te stappen naar een host die dat wel doet. Dit is tegenwoordig een standaardfunctie en essentieel voor:
- Veilig testen van plugins/thema's
- WordPress-updates
- Het oplossen van problemen
- Ontwikkelingswerk
Aanbevolen hosts met staging:
- WP Engine
- SiteGround
- Kinsta
- Cloudways
- Vele anderen
Stap 1: Controleer op fatale fouten
Als je crashes of kritieke fouten ondervindt, begin dan met het controleren van de foutlogs:
- Controleer WCPOS-logs - Open het Logs-scherm in WCPOS op eventuele foutmeldingen
- Controleer fatale-foutlogs - Volg de handleiding voor probleemoplossing bij kritieke fouten om gedetailleerde foutmeldingen te vinden
- Noteer de foutdetails - Zoek naar pluginnamen of bestandspaden die in de fout worden genoemd
Als je een fatale fout vindt die een specifieke plugin noemt, is dat waarschijnlijk je boosdoener. Je kunt die plugin uitschakelen en testen of het probleem is opgelost.
Stap 2: De plugin-eliminatiemethode
Als er geen fatale fouten in de logs staan, of als je prestatiegerelateerde conflicten wilt identificeren, gebruik dan deze systematische aanpak:
2.1 Maak een uitgangspunt
- Open je staging-site
- Test de problematische functionaliteit - Noteer precies wat niet werkt of traag is
- Registreer prestatiegegevens - Als het een prestatieprobleem is, noteer dan de uitvoeringstijden uit de Logs
2.2 Schakel alle plugins uit (behalve de essentiële)
Houd deze plugins actief:
- WooCommerce
- WCPOS
- WCPOS Pro (als je die hebt)
Schakel al het andere uit:
- Ga naar
WP Admin > Plugins - Selecteer alle andere plugins
- Kies "Deactivate" uit het vervolgkeuzemenu voor bulkacties
- Klik op "Apply"
2.3 Test het probleem
- Wis eventuele caches - Als je caching-plugins gebruikt, wis dan alle caches
- Test de problematische functionaliteit - Werkt het nu?
- Controleer de prestaties - Zijn de uitvoeringstijden verbeterd?
Als het probleem is opgelost: Je hebt een pluginconflict. Ga verder met Stap 2.4.
Als het probleem aanhoudt: Het probleem is waarschijnlijk geen pluginconflict. Overweeg:
- Problemen met serverbronnen (zie Serverprestaties)
- Themaconflicten (zie Stap 3)
- Problemen met de WordPress/WooCommerce-kern
2.4 Schakel plugins één voor één in
Nu moet je identificeren welke plugin het conflict veroorzaakt:
- Schakel één plugin in - Begin met de meest essentiële
- Test de functionaliteit - Controleer of het probleem terugkeert
- Als er geen probleem is - Schakel de volgende plugin in en test opnieuw
- Als het probleem terugkeert - Je hebt de conflicterende plugin gevonden!
Prioriteitsvolgorde van plugins (schakel in deze volgorde in):
- Beveiligingsplugins - Wordfence, Sucuri, enz.
- SEO-plugins - Yoast, RankMath, enz.
- Prestatieplugins - Caching, optimalisatie
- Betaalgateways - Stripe, PayPal, enz.
- Andere WooCommerce-extensies
- Algemene WordPress-plugins
2.5 Documenteer je bevindingen
Wanneer je de conflicterende plugin identificeert:
- Noteer de naam en versie van de plugin
- Documenteer het specifieke probleem dat deze veroorzaakt
- Controleer of er een bijgewerkte versie beschikbaar is
- Zoek naar alternatieve plugins die vergelijkbare functionaliteit bieden
Stap 3: Controleer op themaconflicten
Hoewel thema's WCPOS zelden beïnvloeden (omdat het zijn eigen interface gebruikt), kunnen ze soms problemen veroorzaken met:
- Afrekenprocessen (bij gebruik van de webafreken-gateway)
- Functionaliteit van het beheergedeelte
- API-reacties
Test met een standaardthema
- Schakel op je staging-site over naar een standaard WordPress-thema:
- Twenty Twenty-Four
- Twenty Twenty-Three
- Twenty Twenty-Two
- Test de problematische functionaliteit
- Als het probleem is opgelost - Je thema heeft een conflict
Thema's veroorzaken veel minder snel WCPOS-problemen dan plugins. De POS-interface werkt onafhankelijk van je thema. Thema's kunnen echter wel invloed hebben op:
- WooCommerce-afrekenpagina's
- Functionaliteit van het WordPress-beheergedeelte
- REST API-reacties
Stap 4: Pluginconflicten oplossen
Zodra je de conflicterende plugin hebt geïdentificeerd, heb je verschillende opties:
Optie 1: Werk de plugin bij
- Controleer op updates - Het conflict is mogelijk opgelost in een nieuwere versie
- Werk de plugin bij op je staging-site eerst
- Test grondig voordat je bijwerkt op de live site
Optie 2: Zoek een alternatief
- Onderzoek alternatieve plugins die dezelfde functionaliteit bieden
- Test alternatieven op je staging-site
- Migreer instellingen als je van plugin wisselt
Optie 3: Neem contact op met de plugin-ontwikkelaar
- Meld het conflict bij de plugin-ontwikkelaar
- Geef gedetailleerde informatie:
- Betrokken pluginversies
- WordPress- en WooCommerce-versies
- Exacte foutmeldingen of gedrag
- Stappen om het probleem te reproduceren
Optie 4: Aangepaste oplossing
Voor essentiële plugins die niet kunnen worden vervangen:
- Neem contact op met een WordPress-ontwikkelaar om een aangepaste oplossing te maken
- Overweeg plugin-specifieke hooks om conflicterende functionaliteit uit te schakelen
- Gebruik voorwaardelijke logica om de plugin uit te schakelen op POS-gerelateerde pagina's
Veelvoorkomende conflicterende plugintypen
Plugincategorieën met een hoog risico
Beveiligingsplugins:
- Kunnen API-verzoeken blokkeren
- Kunnen de authenticatie verstoren
- Hebben vaak agressieve firewallregels
Caching-plugins:
- Kunnen API-reacties op ongepaste wijze cachen
- Kunnen realtime gegevens verstoren
- Kunnen problemen met verouderde gegevens veroorzaken
SEO-plugins:
- Zware plugins kunnen het beheergedeelte vertragen
- Kunnen onnodige databasequery's toevoegen
- Kunnen REST API-reacties verstoren
Page builders:
- Laden vaak zware scripts in het beheergedeelte
- Kunnen conflicteren met WooCommerce-beheerpagina's
- Kunnen afrekenprocessen verstoren
Lidmaatschaps-/beperkingsplugins:
- Kunnen API-toegang blokkeren
- Kunnen gebruikersauthenticatie verstoren
- Kunnen de toegang tot vereiste resources beperken
Plugincategorieën met een lager risico
Contactformulieren: Verstoren WCPOS doorgaans niet Social media-plugins: Veroorzaken zelden conflicten Analyseplugins: Over het algemeen veilig, tenzij erg zwaar Basis-contentplugins: Doorgaans compatibel
Bekende pluginconflicten
De onderstaande plugins staan erom bekend WCPOS te verstoren. Veel problemen zijn al automatisch opgelost in recente WCPOS-versies — bijwerken naar de nieuwste versie lost deze zonder enige configuratie op.
De rode draad: WCPOS vertrouwt op de WooCommerce REST API en geeft sommige flows (login, betaling, bonnen) weer in iframes. De gebruikelijke oplossing is om de POS-endpoints/URL's uit te sluiten (/wp-json/wcpos/, /wp-json/wc/v3/ en het /pos/-pad) van de andere plugin — niet om deze volledig uit te schakelen.
Beveiligings- en login-plugins
Dit zijn de meest voorkomende bron van conflicten, vooral voor login via de desktop-/mobiele app.
| Plugin | Symptoom | Oplossing |
|---|---|---|
| Wordfence | Firewall blokkeert REST API; 2FA-codeveld wordt niet weergegeven in de login-iframe; restrictieve CSP kan POS-assets blokkeren | Zet /wp-json/wcpos/ en /wp-json/wc/v3/ op de whitelist in de firewall. Voor 2FA: schakel het tijdelijk uit voor POS-gebruikers. CSP wordt automatisch verwijderd in v1.9.0+ |
| Really Simple Security | Blokkeert API-toegang / forceert omleidingen | Schakel eventuele REST API-beperkingen uit in de Advanced-instellingen van de plugin |
| WPS Hide Login | Aangepaste login-URL breekt de login-iframe van de app | Gebruik de standaard /wp-admin/-login-URL voor POS-toegang |
| iThemes / Solid Security | Blokkeert REST API of activeert brute-force-vergrendelingen door POS-aanroepen | Zet alleen de POS-endpoints en het eigen IP van de server op de whitelist — vermijd algemene IP-regels |
| Sucuri | WAF blokkeert API-verzoeken | Zet de REST API-endpoints op de whitelist in het Sucuri-dashboard |
| Security Optimizer | Blokkeert POS-login van beheerder ("use customize login URL") | Log eerst in op WP Admin via de aangepaste URL, ga dan naar /pos |
| Force Login (en vergelijkbare REST-auth-plugins) | /wp-json/ geeft 401/403 terug; oudere apps meldden "Site does not seem to be a WordPress site" | Sta niet-geauthenticeerde toegang tot de POS-endpoints toe, of schakel uit tijdens de eerste verbinding. v1.x-apps tonen nu de echte foutmelding |
| LoginPress | Forceert login op basis van e-mail; breekt multi-user POS-login | Sta login met gebruikersnaam toe, of schakel uit voor POS-toegang |
| JWT Authentication plugins | 403 op alle POS API-verzoeken na activering (login kan slagen, al het andere mislukt) | Automatisch opgelost in v1.8.x+. Op oudere versies, deactiveer de JWT-plugin of sluit de POS-endpoints uit |
| Captcha / reCAPTCHA | Login-lus in de desktop-app (captcha kan niet worden weergegeven in de iframe) | Schakel captcha uit voor de POS-login-URL |
| Defender Pro | X-Frame-Options-header blokkeert alle POS-iframes (login, betaling, bonnen) | Voeg een POS-specifieke uitzondering toe voor /pos/ in plaats van X-Frame-Options site-breed uit te schakelen |
| Jetpack CRM Client Portal | Breekt de POS-login volledig | Schakel alleen de Client Portal-extensie uit |
Prestatie-, caching- en optimalisatieplugins
| Plugin | Symptoom | Oplossing |
|---|---|---|
| WP Rocket, Autoptimize, Hummingbird, Smush | Defer/minify van JS breekt afrekenen en Stripe Terminal | Sluit /pos/-URL's uit van JS-optimalisatie |
| LiteSpeed Cache | Constante herlaad-lus bij het afrekenen in de desktop-app; restrictieve CSP | Werk WCPOS bij, leeg de cache, sluit POS-pagina's uit van caching. CSP automatisch verwijderd in v1.9.0+ |
| Image Prioritizer | Spamt de HTTP Link-header, waardoor REST API-detectie breekt; desktop-app toont "does not appear to be a WordPress site" | Deactiveer de plugin |
Page builders & front-end-injectors
| Plugin | Symptoom | Oplossing |
|---|---|---|
| Elementor | elementor-frontend.js breekt de afreken-accordion binnen de POS-iframe — betaalmethoden klappen niet uit | Sluit POS-pagina's uit van het laden van Elementor-scripts |
| Omnisend / marketingplugins | Injecteren scripts in de afreken-iframe, waardoor lay-out en betalingen breken | Gebruik POS Checkout Settings om niet-essentiële scripts uit te schakelen |
| MyStickyElements / Complianz | Injecteren overlays (sticky knoppen, cookiebanners) in de afreken-iframe | Configureer ze om /pos/-URL's uit te sluiten |
WooCommerce-extensies en andere plugins
| Plugin | Symptoom | Oplossing |
|---|---|---|
| WooCommerce Subscriptions | Conflict met migratiescript tijdens de upgrade van v1.7→v1.8 | Deactiveer Subscriptions, activeer POS Pro (laat de migratie draaien), schakel het dan weer in |
| WP Activity Log | Logt elke POS-actie → postmeta-bloat → "only 10 products" | Schakel het uit, of sluit POS-posttypen uit van logging |
Jetpack / Astra / Xero (alles dat inhaakt op save_post) | Dubbele meta-rijen bij elke POS API-aanroep (één winkel bereikte 36.867 rijen op één product) | Automatisch opgelost in v1.8.12+ (gratis) / v1.8.14+ (Pro) met een opschoonmigratie — werk gewoon bij |
| Stripe Tax | Incompatibel met via de REST API aangemaakte bestellingen (zoals de POS bestellingen aanmaakt) | Geen tijdelijke oplossing — incompatibel |
| Mollie | Kan de BACS-methode (bankoverschrijving) verbergen bij het POS-afrekenen | Werk Mollie bij naar de nieuwste versie |
| CTX Feed | Sporadische 403-fouten op de POS-instellingenpagina | Deactiveer ter bevestiging; geen bekende oplossing |
| Plugins voor barcodescanners van derden | Beschadigen de bestellings-API-JSON, waardoor het aanmaken/weergeven van bestellingen breekt | Schakel ze uit; gebruik de ingebouwde barcodescanning van de POS |
| MailerLite (Signup Forms + WooCommerce) | 500-fout bij het aanmaken van POS-bestellingen (geheugen uitgeput) | Deactiveer ter bevestiging, neem dan contact op met MailerLite |
| The Courier Guy Shipping | Het aanmaken van POS-bestellingen mislukt met een serverfout | Rol terug naar een vorige versie, of neem contact op met de ontwikkelaar |
| PixelYourSite / PixelMySite | Fatale fout: call to member function is_type() on bool | Tijdelijk uitschakelen |
| Google Listings & Ads | Autoloader-conflict → "Class WCPOS\…\Stores not found" kritieke fout | Verwijder alle POS-plugins en installeer alleen de nieuwste Pro standalone opnieuw |
De Stripe Terminal-gateway moet alleen binnen POS Settings worden ingeschakeld, nooit in WooCommerce > Settings > Payments. Het globaal inschakelen zorgt ervoor dat het op het afrekenen van je openbare winkel verschijnt en laat de online afreken-flow crashen.
Conflicten op serverniveau
| Bron | Symptoom | Oplossing |
|---|---|---|
Aangepaste CSP-headers (.htaccess, Nginx of een beveiligingsplugin) | POS blijft hangen op het logo; JS/CSS geblokkeerd | Automatisch verwijderd op POS-pagina's in v1.9.0+. Voor CSP op serverniveau, sta cdn.jsdelivr.net toe in script-src/style-src, of voeg een /pos/-uitzondering toe |
| GoDaddy Website Firewall | Blokkeert /wp-json/ ("Received 'undefined'") | Sta het /wp-json/-URL-pad toe in de firewall — zie Serverprestaties |
Preventietips
Regelmatig onderhoud
- Houd plugins bijgewerkt - Gebruik altijd de nieuwste versies
- Verwijder ongebruikte plugins - Deactiveer ze niet alleen, verwijder ze
- Test updates op staging voordat je ze toepast op de live site
- Bewaak de prestaties regelmatig met behulp van de Serverprestaties-gegevens
Best practices voor pluginselectie
- Kies betrouwbare ontwikkelaars - Controleer beoordelingen en updatefrequentie
- Vermijd overbodige functionaliteit - Installeer niet meerdere plugins die hetzelfde doen
- Lees compatibiliteitsinformatie - Controleer of plugins zijn getest met WooCommerce
- Begin met minimale plugins - Voeg functionaliteit geleidelijk toe naarmate dat nodig is
Hulp krijgen
Als je het pluginconflict niet kunt oplossen:
Voor Pro-gebruikers
Pro-gebruikers ontvangen prioriteitsondersteuning voor het oplossen van pluginconflicten. Ons team kan je helpen conflicten te identificeren en op te lossen.
Community-ondersteuning
Bij het contact opnemen met ondersteuning
Geef het volgende op:
- Lijst met actieve plugins met versies
- WordPress- en WooCommerce-versies
- Gedetailleerde beschrijving van het probleem
- Stappen die je al hebt geprobeerd
- Foutmeldingen uit de logs
- Serverprestatiegegevens indien relevant