WP-CLI on ametlik käsurea tööriist WordPress’i lehetede haldamiseks.
See on alternatiivne võimalus WordPress’i kontrollpaneelile ning on paljude tegevuste puhul mugavam ja kiirem kasutada.
WP-CLI käsurea utiliidi kasutamine käib terminali kaudu, luues selleks SSH ühenduse oma virtuaalserveriga. Loe täpsemalt: SSH ühenduse loomine.
Toome siin välja mõned kasulikud WP-CLI käsud.
Kõiki käskusi koos selgituste ja näidetega näeb WP-CLI lehel ning samuti ka käsurealt.
Kõikide käskude nägemiseks sisesta:
> wp
või
> wp help
WP-CLI käsud on grupeeritud tegevuste järgi kategooriatesse.
Igal n. ö. peakategooria käsul on alamkäsud ja valikud.
Nägemaks tuumiku (core) alamkäskusi, sisesta:
> wp core
Et näha käsu kohta seletust koos näidetega, sisesta:
> wp help core update
WordPress’i konfiguratsioon
WordPress’i versiooni vaatamine:
> wp core version
Konfiguratsiooni vaatamine:
> wp config list
Ainult andmebaasi andmete vaatamine:
> wp config list DB_
Ühe kindla konfiguratsiooni sätte vaatamine:
> wp config get DB_NAME
Konfiguratsiooni sätte muutmine:
> wp config set DB_NAME db_name
Hooldusrežiimi staatuse vaatamine, aktiveerimine ja deaktiveerimine:
> wp maintenance-mode status > wp maintenance-mode activate > wp maintenance-mode deactivate
WordPress’i paigaldamine ja uuendamine
Laadi alla WordPress’i failid, täpsustades versiooni ja loobudes vaikimisi kaasapandud teemast ja pluginatest:
> wp core download --version=5.5.3 --skip-content
Paigalda WordPress 5 sekundiga (enne on vaja lisada andmebaasi andmed wp-config.php faili):
> wp core install --url=domain.tld --title='Uus sait' --admin_user=nimi --admin_email=nimi@domain.tld
Uuenda WordPress vajaliku versioonini ja uuenda peale seda ka andmebaasi:
> wp core update --version=5.5.1 > wp core update-db
WordPress’i kasutajad, teemad ja pluginad
Kõigi WordPress’i kasutajate nimekiri, igal kasutajal on oma unikaalne ID:
> wp user list
WordPress’i admin õigustes kasutajakonto lisamine:
> wp user create kasutajanimi nimi@domain.tld --role=administrator
Kasutaja kustutamine (konto ID = 123).
NB! Kui kustutatakse kasutaja, kelle postitusi ei määrata mõnele teisele kasutajale valikuga --reassign
, siis kustutatakse ka tema postitused.
> wp user delete 123 > wp user delete 123 --reassign=1234
Kasutaja salasõna muutmine. Soovitatav on salasõna sisse lugeda failist, nagu näha 2. käsus, et see ei jääks käsurea ajaloofaili (konto ID = 123):
> wp user update 123 --user_pass=uus-ja-pikk-salas6na > wp user update 123 --prompt=user_pass < user_password.txt
Kõikide pluginate nimekiri, staatus, versiooni number ja kas on väljas uuendus:
> wp plugin list
Plugina uuendamine (ühe konkreetse ja kõikide uuendamine):
> wp plugin update hello > wp plugin update --all
Kui WordPress’i või selle plugina uuendamisel on muutunud WordPress kättesaamatuks (kuvatakse PHP veateade või ei saa enam sisse WordPress’i adminni ja veateates on näha mõne plugina nimi, võib konkreetse plugina deaktiveerimine olla ajutiseks lahenduseks, mis taastab veebilehe töö.
Plugina deaktiveerimine:
> wp plugin deactivate plugin-name
Kõikide teemade nimekiri, staatus, versiooni number ja kas on väljas uuendus:
> wp theme list
Teema uuendamine:
> wp theme update twentytwenty
WordPress’i andmebaasiga seotud tegevused
Andmebaasi salvestamine faili. Kiire ja mugav viis teha andmebaasist varukoopia (soovitatav on teha andmebaasist varukoopia enne igasugust suuremat muudatuste tegemist selles):
> wp db export
Andmebaasi sisselugemine failist:
> wp db import dbname-2020-01-01-abcd1234.sql
Otsi andmebaasist sõne:
> wp db search 'leia see tekst'
Andmebaasis andmete asendamine.
Kui enne muutmist on vaja näha, mida asendamine muudaks ja millistes tabelites, siis lisa käsule juurde valik: --dry-run
Kui otsitav või asendav tekst sisaldab tühikuid või erimärke, tuleb see ümbritseda jutumärkidega:
> wp search-replace --report-changed-only --dry-run --skip-columns=guid 'otsida seda' 'asenda sellega'
Ava mysql käsurida (andmed andmebaasiga ühenduse loomiseks võetakse failist wp-config.php):
> wp db cli
WordPress’i URL’i muutmine
WordPress’i kolimisel ühest serverist teise, alamdomeenilt peadomeenile või vastupidi, võib vaja minna muuta WordPress’i URL.
Wordpress’i veebilehe URL määratakse ära andmebaasi tabelis options, väljadega home
ja siteurl
.
Lisaks on enamasti domeeninimi kirjas veel teistes andmebaasi tabelites ja ka failides.
Praeguse WordPress’i veebilehe URL’i vaatamine:
> wp option get home > wp option get siteurl
WordPress’i veebilehe URL’i muutmine:
> wp option update home https://domain.tld
siteurl
’i muutmine – URL kataloogini kuhu WordPress on paigaldatud.
Kui WordPress on paigaldatud domeeni juurkataloogi, siis siteurl
on sama, mis home
URL.
Kui WordPress on paigaldatud mõnda alamkataloogi, näiteks blog, siis siteurl
’i väärtus oleks https://domain.tld/blog.
> wp option update siteurl https://domain.tld
Vana URL’i asendamine terves andmebaasis (v. a. tabeli posts
tulbas guid
).
Enne muutmist on soovitatav vaadata, millistes tabelites toimub muutmine ja pärast ülevaate saamist muutmise jaoks eemaldada käsust valik --dry-run
:
> wp search-replace --report-changed-only --dry-run --skip-columns=guid https://old.tld https://new.tld
Kui vana domeen on vaja asendada uue domeeni vastu ka failides ja neid muudatusi on vaja teha palju, saab asendamise teha käsurealt.
Enne vana domeeninime asendamist on vaja teada, kas seda võib teha kõigis failides või ainult kindlates kataloogides ja kindlat tüüpi failides.
Enamasti ei ole vaja teha asendamist puhver- ja logifailides. Puhverfailid saab kustutada kas käsitsi või tuleb seda teha WordPress’i adminpaneeli kaudu.
Vastavalt sellele tuleb koostada oma asendamise käsk.
Otsi kõikidest failidest välja vana domeen ja kuva nende failide nimed (vajadusel jäta domeeninime eest ära https://):
> grep -irl 'https://old.tld' ./
Otsi vana domeeni kindlatest faililaientidega failidest (kohanda valikuga --include
faililaiendite nimekirja vastavalt oma vajadusele):
> grep -irl --include \*.php --include \*.html --include \*.css 'https://old.tld' ./
Asenda vana domeen uue domeeniga kindla faililaiendiga failides (siin näites PHP failides):
> find ./ -name '*.php' -exec sed -i 's~https://old.tld~https://new.tld~g' {} \;
WordPress’i failide kontrollsummad
Kui on vaja kontrollida ega WordPress’i faile ei ole muudetud (tihti on see WordPress’i kompromiteerimise tunnuseks), siis seda saab teha kahe järgneva käsuga
Wordpress’i tuumikfailide kontrollimine:
> wp core verify-checksums
WordPress’i pluginate failide kontrollimine:
> wp plugin verify-checksums --all