WP-CLI is de officiële command-line interface voor WordPress. Met WP-CLI kun je razendsnel updates uitvoeren, databases doorzoeken, plugins beheren en nog veel meer — allemaal vanuit de terminal. Hieronder deel ik de commando’s die ik zelf het vaakst gebruik.
URL’s vervangen in de database
Dit is waarschijnlijk het commando dat ik het meest gebruik bij migraties en domeinwijzigingen. Het vervangt elke verwijzing naar de oude URL door de nieuwe, ook in geserialiseerde PHP-arrays:
wp search-replace https://oldurl.com https://newurl.com --all-tables --preciseCode language: JavaScript (javascript)
- –all-tables — doorzoekt alle tabellen in de database, niet alleen de standaard WordPress-tabellen.
- –precise — gebruikt PHP in plaats van SQL voor de vervanging, waardoor geserialiseerde data correct wordt bijgewerkt.
Tip: Voeg --dry-run toe om eerst een preview te zien zonder iets aan te passen.
Schrijfrechten instellen op de uploads-map
Wanneer WordPress geen afbeeldingen kan uploaden, ligt het probleem vaak bij de bestandsrechten van de uploads-map. Met dit commando geef je de webserver-groep schrijfrechten:
chmod g+w /data/www/yoursite.com/public_html/wp-content/uploads/
Op veel servers draait de webserver (bijv. www-data of nginx) in dezelfde groep als de bestanden, dus met g+w geef je precies de juiste gebruiker toegang — zonder alles open te gooien met 777.
WordPress core updaten
WordPress bijhouden is essentieel voor de veiligheid. Met één commando download en installeer je de nieuwste versie van WordPress core:
wp core update
Wil je ook de vertaalbestanden bijwerken? Combineer het dan met:
wp language core update
Alle plugins updaten
Verouderde plugins zijn één van de meest voorkomende oorzaken van gehackte WordPress-sites. Dit commando update alle geïnstalleerde plugins in één keer:
wp plugin update --all
Wil je eerst zien welke plugins een update hebben zonder ze al te installeren? Gebruik dan:
wp plugin update --all --dry-run
Revisies verwijderen
wp post delete $(wp post list --post_type=revision --format=ids) --forceCode language: JavaScript (javascript)Database downloaden
wp db export --path=./some-site/public_html/Code language: JavaScript (javascript)Post terms toevoegen en koppelen
for id in $(wp post list --post_type=post --fields=ID)
do
wp post term set $id category general --by=slug
done
Code language: JavaScript (javascript)Cache legen
Naast de bovenstaande gebruik ik ook regelmatig deze commando’s:
# Cache leegmaken
wp cache flushCode language: PHP (php)

