WP-CLI er et nyttig værktøj der man sender kommandoer til Wordpress via Terminal (Mac, Linux) eller Powershel/Putty (Windows).
Dette er nyttig når Wordpress er utilgængelig, for eksempel på grund af fejlende plugin/tema eller hvis Wordpress fejlet under en opdatering. Eksempler under køres Terminal.
Det første du skal gøre er at logge ind på webhotellet dit i shell.
Brugernavn og adgangskode for at logge ind i shell det samme som dit FTP-brugernavn og adgangskode for dit webhotel.
Eksempel på indlogning i shell mod Domæneshops webhotel:
ssh mittnavn@login.domaeneshop.dk
Du bliver da bedt om at skrive ind adgangskode for dit webhotel:
mittnavn@login.domaeneshop.dk's password:
Næste steg er at navigere dig til mappen der filene til Wordpress-installationen din ligger.
I de flæste tilfeller ligger dette i www-mappen, kør cd kommandoen for at ændre til korrekt mappe. I eksemplet under listes mappen du er i til højre for brugeren din:
mittnavn@shell:~$ cd www
mittnavn@shell:~/www$
Du må da verificere, at Wordpressfilene ligger i denne mappen ved at køre kommandoen ls -la.
Dette vil liste op alle filene som ligger i mappen, verfiser, at Wordpress-filer og mapper bliver listet.
Før du begynder bør du tag en backup af databasen.
Det gør du ved at køre følgende kommando som lagrer hele databasen til en .sql-fil:
mittnavn@shell:~/www$ wp db export backup.sql
Success: Exported to 'backup.sql'.
Generelle kommandoer
Tjekke version af Wordpress:
mittnavn@shell:~/www/$ wp core version
5.0.4
Opdatere Wordpress til nyeste version:
mittnavn@shell:~/www$ wp core update
Updating to version 5.2.3 (nb_NO)...
Laster ned opdateringer fra https://downloads.wordpress.org/release/nb_NO/wordpress-5.2.3.zip...
Pakker ud opdateringen...
Success: WordPress updated successfuldy.
Opdatere plugin, Aksimet for eksempel:
mittnavn@shell:~/www$ wp plugin update akismet
Laster ned opdateringer fra https://downloads.wordpress.org/plugin/akismet.4.1.1.zip...
Pakker ud opdateringen...
Installerer den nyeste versionen...
Fjerner den gamle versionen af utvidelsen...
Utvidelse opdateret.
+---------+-------------+-------------+---------+
| name | old_version | new_version | status |
+---------+-------------+-------------+---------+
| akismet | 4.1 | 4.1.1 | Updated |
+---------+-------------+-------------+---------+
Success: Updated 1 of 1 plugins.
Opdatere alle plugins:
mittnavn@shell:~/www$ wp plugin update --all
Aktiverer vedlikeholdstilstand...
Laster ned opdateringer fra https://downloads.wordpress.org/plugin/akismet.4.1.1.zip...
Deaktiverer vedlikeholdstilstand...
+--------------------+-------------+-------------+---------+
| name | old_version | new_version | status |
+--------------------+-------------+-------------+---------+
| akismet | 4.1 | 4.1.1 | Updated |
| better-wp-security | 7.2.0 | 7.3.3 | Updated |
+--------------------+-------------+-------------+---------+
Success: Updated 2 of 2 plugins.
Installere og aktivere plugin:
mittnavn@shell:~/www$ wp plugin install contact-form-7
Installing Contact Form 7 (5.1.1)
Laster ned installationsfiler fra https://downloads.wordpress.org/plugin/contact-form-7.5.1.1.zip...
Pakker ud pakken...
Installerer utvidelsen...
Utvidelsen blev installeret.
Success: Installed 1 of 1 plugins.
mittnavn@shell:~/www$ wp plugin activate contact-form-7
Plugin 'contact-form-7' activated.
Success: Activated 1 of 1 plugins.
Deaktivere plugin, nyttig for at deaktivere fejlene plugin:
mittnavn@shell:~/www$ wp plugin deactivate contact-form-7
Plugin 'contact-form-7' deactivated.
Success: Deactivated 1 of 1 plugins.
Bytte tema, nyttig i tilfeller der nåværende tema fejler:
mittnavn@shell:~/www$ wp theme activate twentyseventeen
Success: Switched to 'Twenty Seventeen' theme.
Opdatere alle tema:
mittnavn@shell:~/www$ wp theme update --all
Aktiverer vedlikeholdstilstand...
Laster ned opdateringer fra https://downloads.wordpress.org/theme/astra.1.8.2.zip...
Pakker ud opdateringen...
Installerer den nyeste versionen...
Fjerner den gamle versionen af temaet...
Tema opdateret.
Deaktiverer vedlikeholdstilstand...
+-----------------+-------------+-------------+---------+
| name | old_version | new_version | status |
+-----------------+-------------+-------------+---------+
| astra | 1.6.2 | 1.8.2 | Updated |
| twentynineteen | 1.1 | 1.3 | Updated |
| twentyseventeen | 1.9 | 2.1 | Updated |
+-----------------+-------------+-------------+---------+
Success: Updated 3 of 3 themes.
Oprette ny bruger, brugeren får automatisk oprettet et adgangskode:
mittnavn@shell:~/www$ wp user create testuser eksempel@mittnavn.no --role=administrator
Success: Created user 122.
Password: MM%^b7vjSu)Ob(O8R562@rPo
Opdatere adgangskode for specifik bruger:
mittnavn@shell:~/www$ wp user update testuser --user_pas=Speak-Holmes-Curie-1945-Visit
Success: Updated user 122.
Slette uønsket bruger.
Du må enten slette brugeren og alle tilhørende poster eller slette brugeren og flytte alle poster fra brugeren over til en anden bruger:
mittnavn@shell:~/www$ wp user delete testuser --reassign=testuser2
Success: Removed user 124 from https://www.mittnavn.no.
mittnavn@shell:~/www$ wp user delete testuser
--reassign parameter not passed. All associated posts wil be deleted. Proceed? [y/n]
Success: Removed user 122 from https://www.mittnavn.no.
Avancerede kommandoer
Det er også mulig at ned nyeste version af Wordpress og erstatte Wordpress-filene som ligger på webhotellet fra før med «ferske» filer af fra nyeste version. Dette må være nyttig om den nåværende installationen mangler filer som følge af en fejlet opdatering eller filer har blevet korrupte.
mittnavn@shell:~/www$ wp core download --force
Downloading WordPress 5.2.3 (nb_NO)...
md5 hash verified: qwerty12345abcdefghijlk448993849
Success: WordPress downloaded.
Søge efter en specifik URL i databasen i Wordpress og erstatte den med en anden:
mittnavn@shell:~/www$ wp search-replace "https://gammel.mittnavn.no" "https://ny.mittnavn.no"
--skip-columns=guid --recurse-objects
+---------------------+-----------------------+--------------+------+
| Table | Column | Replacements | Type |
+---------------------+-----------------------+--------------+------+
| wp_options | option_value | 5 | PHP |
| wp_postmeta | meta_value | 2 | PHP |
| wp_posts | post_content | 1 | SQL |
| wp_users | user_url | 1 | SQL |
+---------------------+-----------------------+--------------+------+
Success: Made 9 replacements.
Det er også mulig at køre flere kommandoer samtidig ved at sætte && mellom kommandoene.
Et par eksempler under.
Første eksempel henter ud diverse info fra databasen, andre eksempel opdaterer salter i wp-config.php og sletter en bruger:
mittnavn@shell:~/www$ wp config get DB_HOST && wp config get table_prefix
mittnavn.mysql.domaeneshop.dk
wp_
mittnavn@shell:~/www$ wp config shuffle-salts && wp user delete testuser
Success: Shuffled the salt keys.
--reassign parameter not passed. All associated posts wil be deleted. Proceed?
Fuld dokumentation for wp-cli finder du
her.