Een radeloze WordPress-gebruiker die wordt belaagd door een gigantisch “Koop de Pro-versie NU!”-banner, terwijl een kleine programmeerheld met een laptop het probeert te hacken.

Handleiding: Pro-functionaliteiten van WordPress-plugins ontgrendelen en externe verbindingen elimineren (voor eigen gebruik)


⚠️ Disclaimer

Deze handleiding is puur educatief en bedoeld om gebruikers te helpen inzicht te krijgen in hoe WordPress-plugins werken. Dit document is geen juridisch advies. Het aanpassen van plugins voor eigen gebruik is toegestaan onder de GPL-licentie, mits de plugin volledig onder de GPL valt. Het delen of commercieel gebruiken van gewijzigde versies kan echter juridische of ethische bezwaren met zich meebrengen.

Als je functionaliteit van een plugin aanpast om privacyrisico’s te beperken (zoals tracking of ongewenste externe communicatie), is dat een goed argument om dit te doen. Zorg er echter voor dat je geen auteursrechten of aanvullende licentievoorwaarden schendt.


1. Waarom zou je een WordPress-plugin aanpassen?

Er zijn meerdere redenen om een WordPress-plugin aan te passen:

  • Beveiliging en privacy: Sommige plugins sturen gegevens naar externe servers zonder duidelijke toestemming of zonder je dit expliciet te laten weten.
  • Geen reclame of upsell-meldingen: Veel gratis plugins bevatten meldingen of banners om gebruikers over te halen een Pro-versie aan te schaffen.
  • Ontgrendelen van functionaliteiten: Sommige functies zijn vergrendeld in de gratis versie en kunnen softwarematig worden ontgrendeld zonder een licentie.
  • Controle over updates en afhankelijkheden: Sommige plugins forceren automatische updates of laden externe bestanden in die je misschien niet wilt.

2. Wat je nodig hebt om een plugin aan te passen

Software & tools

  • Een lokale testomgeving (bijv. XAMPP, Local by Flywheel of een staging-site)
  • Code-editor zoals Visual Studio Code of PhpStorm
  • Bestandszoektool (bijv. grep in Linux/macOS, Notepad++ “Zoek in bestanden”)
  • Een WordPress-site waarop je de aangepaste plugin wilt testen

3. Stap-voor-stap: Pro-functionaliteiten verwijderen & privacy verbeteren

A. Plugin-code analyseren

  1. Download en unzip de plugin (bijv. /wp-content/plugins/plugin-naam/).
  2. Zoek naar bestanden die mogelijk Pro-functionaliteiten bevatten:
    • Typische bestandsnamen:
      • class-license.php
      • pro-functions.php
      • upgrade.php
      • admin-upgrade.php
    • Typische mappen:
      • /includes/
      • /admin/
      • /modules/
  3. Gebruik een tekstzoekfunctie en scan de pluginmap op sleutelwoorden zoals: is_pro() PRO_VERSION license_check upgrade_url wp_remote_get wp_remote_post curl_init Dit helpt te vinden waar licentiechecks of externe verbindingen plaatsvinden.

B. Licentiechecks uitschakelen

Veel plugins hebben een functie om te controleren of een licentie geldig is, zoals:

Manieren om deze check uit te schakelen

  1. Forceer de functie om altijd als Pro-versie te werken
    Zoek naar een functie zoals is_pro() en wijzig deze naar: function is_pro() { return true; }
  2. Verwijder of comment de licentiecontrole
    In veel plugins zie je iets zoals: if ( ! get_option('plugin_license_key') ) { return false; } Zet dit in commentaar: /* if ( ! get_option('plugin_license_key') ) { return false; } */
  3. Zoek naar “die()” of “return false” na een licentiecheck
    Sommige plugins stoppen de code als de licentie niet geldig is: if ( ! $this->license->is_valid() ) { die("Je hebt geen geldige licentie."); } Verwijder die() of vervang $this->license->is_valid() door true.

C. Privacy verbeteren: Externe verbindingen blokkeren

Veel plugins sturen gegevens naar externe servers. Dit kan tracking, licentievalidatie of marketinginformatie zijn.
Zoek naar externe requests:

  • wp_remote_get()
  • wp_remote_post()
  • file_get_contents('http://...')
  • curl_exec()

Manieren om externe verbindingen te blokkeren

  1. Verwijder de externe request $response = wp_remote_get('https://pluginwebsite.com/check_license'); → Vervang door: $response = array( 'body' => 'valid' );
  2. Blokkeer externe requests met een filter in functions.php
    In je thema of een Must Use Plugin (/wp-content/mu-plugins/privacy-blocker.php): add_filter('pre_http_request', function($pre, $args, $url) { if (strpos($url, 'pluginwebsite.com') !== false) { return new WP_Error('blocked', 'Externe request geblokkeerd'); } return $pre; }, 10, 3);
  3. Gebruik een firewall op serverniveau
    In je /etc/hosts-bestand (Linux/macOS) of Firewall-configuratie: 127.0.0.1 pluginwebsite.com

D. Optioneel: Banners en meldingen verwijderen

Sommige plugins tonen admin-notices zoals:

Je kunt dit verwijderen met:

Of via CSS:


4. Testen en updaten

  1. Test de plugin in een veilige testomgeving.
  2. Log fouten met debug-modus (wp-config.phpdefine('WP_DEBUG', true);).
  3. Na een update opnieuw aanpassen
    • Maak een diff-patch: diff -u originele-plugin.php aangepaste-plugin.php > patch.diff
    • Pas de patch na elke update toe: patch originele-plugin.php < patch.diff

5. Conclusie

Met deze technieken kun je: ✔️ Pro-functionaliteiten activeren zonder een licentie.
✔️ Privacy verbeteren door tracking en licentiechecks uit te schakelen.
✔️ Reclame en meldingen verwijderen voor een schonere backend.

Wil je automatische updates blijven ontvangen? Dan moet je handmatig bij elke update de code opnieuw patchen óf een plugin ontwikkelen die deze wijzigingen dynamisch toepast.

Dit proces is volledig legaal als de plugin GPL is en je de wijzigingen voor eigen gebruik houdt. Echter, het verspreiden van een gewijzigde versie zonder toestemming kan licentieproblemen opleveren.

Wil je volledige controle zonder elke keer handmatig te patchen? Overweeg dan om een custom WordPress-plugin te maken die deze filters, hooks en blockers automatisch toepast.

Veel succes! 🚀

Laat een reactie achter

Uw reactie is welkom. Houd uw bijdrage inhoudelijk, respectvol en relevant voor het onderwerp.
Door een reactie te plaatsen gaat u ermee akkoord dat uw naam, reactie en eventuele website zichtbaar kunnen worden bij dit bericht. Reacties kunnen worden gemodereerd volgens onze richtlijnen.

Scroll naar boven