Skip to content

WP-CLI – Styring af WordPress fra terminalen

Hvad er WP-CLI?

WP-CLI er et værktøj til terminalen, designet til at administrere WordPress-opgaver — både almindelige og avancerede. Du kan fx:

  • Tilføje, opdatere og slette Plugin

  • Oprette, redigere og slette indlæg

  • Håndtere kategorier, tags og taksonomier

  • Udføre “search and replace” i databasen

  • Nulstille adgangskoder

  • Fejlsøge ydeevne

  • Og MEGET mere

Installation af WP-CLI

Jeg anbefaler som minimum at bruge PHP 8.1 eller nyere

Her er installationskommandoerne for Linux/macOS:

				
					curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar  
chmod +x wp-cli.phar  
sudo mv wp-cli.phar /usr/local/bin/wp  

				
			

Hvis noget går galt, eller hvis du bruger Windows, kan du følge instruktionerne fra de officielle WP-CLI-dokumenter.:

Når installationen er komplet, kan du teste med:

				
					wp --info
				
			

For at se hvilken version af WP-CLI du bruger:

				
					wp cli version
				
			

Få overblik over alle tilgængelige kommandoer”?

				
					wp help
				
			

Grundlæggende brug af WP-CLI

Alle WP-CLI-kommandoer starter med wp, efterfulgt af en kommando og eventuelle underkommandoer, parametre og switches:

				
					wp command subcommand [obligatoriske_parametre] --valgfri_parametre
				
			

Eksempel på installation og aktivering af et tema:

				
					wp theme install twentyseventeen --activate
				
			

Når du befinder dig i en given mappe med en WordPress-installation, vil wp-kommandoerne arbejde mod den installation. Hvis du skifter mappe til en anden installation, vil wp arbejde med den nye placering.

Her er nogle praktiske eksempler på WP-CLI-kommandoer:

 

Installation af WordPress:

				
					wp core download  
wp core config --dbname=mitdb --dbuser=brugernavn --dbpass=kode --dbhost=localhost --dbprefix=wp_ --extra-php <<PHP  
define( 'WP_DEBUG', true );  
define( 'WP_DEBUG_LOG', true );  
PHP  
wp db create  
wp core install --url=http://ditdomæne.dk --title="Mit Site" --admin_user=admin --admin_password=hemmelig --admin_email=mail@domæne.dk

				
			

Geninstallation af WordPress-core:

				
					wp core download --skip-content --force

				
			

Ændring af WordPress-URL:

				
					wp option update home 'https://dit-domæne.dk'  
wp option update siteurl 'https://dit-domæne.dk'

				
			

Liste over installerede plugins:

				
					wp plugin list
				
			

Søg efter plugin:

				
					wp plugin search seo-by-rank-math
				
			

Installere plugins

				
					wp plugin install seo-by-rank-math --activate
				
			

Hvis du vil installere en bestemt version

				
					wp plugin install seo-by-rank-math --version=1.0.254 --activate
				
			

Slet et plugin

				
					wp plugin delete seo-by-rank-math
				
			

Aktivér plugins

Aktivér ét plugin:

				
					wp plugin activate seo-by-rank-math

				
			

Aktivér alle plugins:

				
					wp plugin activate --all

				
			

Deaktivere plugins

Deaktiver ét plugin:

				
					wp plugin deactivate seo-by-rank-math

				
			

Deaktiver alle plugins:

				
					wp plugin deactivate --all
				
			

Opdatere plugins

Opdatere ét plugin:

				
					wp plugin update seo-by-rank-math
				
			

Opdatere alle plugins:

				
					wp plugin update --all
				
			

Search & Replace i databasen (Dette værktøj håndterer serialiserede arrays korrekt)

				
					wp search-replace oldurl newurl
				
			

Du kan også køre med –dry-run for at teste, hvad der ændres.

Import og eksport af Database

Export:

				
					wp db export
				
			

Import:

				
					wp db import fil.sql
				
			

Brug dette forsigtigt — import vil ofte overskrive den eksisterende database.

Håndtering af brugere

Liste brugere:

				
					wp user list --field=ID
				
			

Opret bruger:

				
					wp user create john [email protected] --role=author
				
			

Opdater bruger:

				
					wp user update 123 --display_name=Beth --user_pass=bethpass
				
			

Slet bruger og overfør indlæg:

				
					wp user delete 123 --reassign=443
				
			

Administrere WP-Cron-hændelser

				
					wp cron event list
				
			

Transient-håndtering

Slet én eller alle transienter:

				
					wp transient delete --all
				
			

For multisite:

				
					wp transient delete --all --network && wp site list --field=url | xargs -n1 -I % wp --url=% transient delete --all

				
			

Ryd op i wp_options

Tabellen wp_options kan være et problem på større installationer pga. autoload-data, som plugins efterlader. Brug WP-CLI til at finde og rydde unødvendige entries.

Slet WordPress-revisioner

Revisioner kan hurtigt fylde op i databasen:

				
					wp post delete $(wp post list --post_type='revision' --format=ids)

				
			

Vedligeholdelsestilstand

Fra WP-CLI v2.2.0 kan du aktivere, deaktivere eller tjekke status på vedligeholdelsestilstand:

				
					wp maintenance-mode activate  
wp maintenance-mode deactivate 
wp maintenance-mode status
				
			

Elasticsearch og ElasticPress

Hvis du bruger Elasticsearch, kan du indeksere med WP-CLI:

				
					wp elasticpress index [--setup] [--network-wide] [--posts-per-page] [--nobulk] [...]

				
			

Flersprogede websteder

WP-CLI v2 introducerede en ny kommando-familie wp i18n, som både kan generere POT-filer og oversætte tekstdomæner:

				
					wp i18n make-pot <source> [destination] [--slug=<slug>] [--domain=<domain>] [...]

				
			

WooCommerce-integration

Hvis du arbejder med e-handel, kan WP-CLI hjælpe med at håndtere ordrer, kunder og produkter i bulk via forskellige kommandoer. Robot Ninjas har en god guide til WP-CLI + WooCommerce.

WP-CLI eksternt og via script

At administrere WordPress-installationer på fjernservere er en stor fordel:

  • Fra WP-CLI v0.24.0 blev SSH-funktionalitet integreret direkte — du behøver ikke længere eksterne add-ons.
  • Du skal have WP-CLI installeret både på din lokale maskine og på serveren.
  • Serverkonfiguration kan styres via config.yml, wp-cli.yml eller wp-cli.local.yml
				
					ssh:
  staging:
    cmd: ssh %pseudotty% [email protected] %cmd%
    url: http://mit-staging.dk
    path: /www/root/path

				
			
  • Når konfigurationen er på plads, kan du fx køre:
				
					wp ssh core update --host=staging
				
			

Ved at bruge scripts (fx install.sh) kan du automatisere mange gentagne opgaver og spare masser af tid, især hvis du håndterer flere WordPress-websteder.

Opsummering

WP-CLI er virkelig et must-have værktøj for udviklere og siteadministratorer. Det gør det muligt at:

  • Oprette og konfigurere nye installationer hurtigt

  • Administrere plugins, temaer, brugere og databaser

  • Automatisere gentagne opgaver

  • Udføre komplekse operationer (f.eks. search/replace) sikkert

  • Styre flere sites fra et enkelt script

Hvis du endnu ikke har prøvet WP-CLI, vil jeg kraftigt anbefale, at du gør det. Start med lidt basale kommandoer, og byg gradvist videre derfra.

Få overblik over alle tilgængelige kommandoer”? – Kør

				
					wp help
				
			

Relateret indlæg:

Bedøm dette indlæg:

Hvor nyttigt var dette indlæg?

Vælg din bedømmelse

Gennemsnitlig bedømmelse? 0 / 5. Antal bedømmelser: 0

Ingen bedømmelser endnu! Vær den første til at bedømme dette indlæg.

Del dette indlæg:

Kommentarer:

No comment yet, add your voice below!


Add a Comment

Tak, fordi du overvejer at poste en kommentar. Husk, at alle kommentarer modereres i henhold til vores kommentarpolitik som du finder HER

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Share to...