tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

WP-CLI esimerkkejä WordPressin hallintaan

WP-CLI saattaa helpottaa elämää, jos sitä käyttää. Kuten aina, niin mitään ei kannata asentaa vain asentamisen takia. Jos jossain vaiheessa tarvitsee päästä terminaalin kautta komentorivillä komentamaan WordPressiä, niin WP-CLI on asennettavissa myöhemminkin. Mutta jos käyttää shelliä muutenkin työntekoon, ja WordPress on oleellinen osa työnkuvaa, niin WP-CLI puoltaa paikkaansa. Mutta sitä on käytettävä, että saisi etua. Ja kun kaikessa on oppimiskäyränsä, niin myös tässäkin. Siksi saat nipun käyttämällä testattuja wp-koodeja auttamaan totuttautumisessa.

Jos sinulla ei vielä ole WP-CLI asennettuna, niin täällä on asennusohjeet.

Meta-kikkailua

WP-CLI tarjoaa pari yleisemmällä tasolla olevaa kikkaa.

–prompt

Komennoissa saattaa olla useampikin annettava tieto. Joku voi muistaakin ne, mutta koska --prompt on tehty, niin huonomuistisia on muitakin kuin vain minä.

wp user create --prompt

Uutta käyttäjää luotaessa --prompt tarjoaa jokaisen annettavan tiedon yksitellen täytettäväksi. --prompt toimii aivan kaikkien wp-komentojen kanssa.

 

Komentohistoria

Kyseessä ei ole WP-CLI:n kikka, vaan eräällä tavalla normaalia terminaalin/shellin käytön perusteitä. Kursori-ylös esittää järjestyksessä annettuja komentoja. Helpoin tapa, jos on vain vähän aikaa sitten tehnyt jotain. Kursori-alas tuo sitten takaisinpäin.

Mutta jos annetusta komennosta on hiukankaan enemmän aikaa, niin tekemällä aidon haun historiasta on paljon helpompaa.

history | grep wp

Siihen voi laittaa myös hakutermin. Esimerkki näyttää historiasta kaikki, joissa esiintyy wp. Siihen voi tietysti vaihtaa tilalle mitä haluaa, vaikka rsync. Jos komentaa pelkästään history, niin saa koko listan – joka sekin saattaa olla hyödyllinen, kun on joku muistikuva, mutta ei tarpeeksi selkeä.

Jokaisen komennon kohdalla on järjestysnumero.

Kun antaa järjestysnumeron, niin suoritetaan se komento historiasta,

!1219

On olemassa toinenkin tapa hakea. Sitä kutsutaan nimellä reverse-i-search tai back-i-search. Kun konsolissa painaa cntr+R niin pääsee antamaan hakutermin, vaikka wp. Osumia pääsee selamaan painamalla uudestaan cntr+R ja kun kohdalle osuu haluttu, niin enter ajaa sen. Jos ei löydy, niin cntr-C päästää pois.

 

wp-cli.yml

wp-cli.yml on konfiguraatiotiedosto, jonka käyttöä en ole vielä oikein oppinut. Mutta kaiken muun lisäksi sinne saa koottu yhden komennon taakse kaikki tarvittavat lisäkilkkeet, jotta niitä ei tarvitsisi antaa samalla tavalla kerta toisensa jälkeen.

Lisätietoja löydät täältä.

 

help

Saat apua jokaiseen WP-CLI:n komentoon.

wp help KOMENTO

Jokainen wp-komento osaa myös --help.

 

–dry-run

Joskus on syytä testata ennen kuin varsinaisesti tekee jotain. Kun lisäät komennon perään

--dry-run

niin saat vastauksen kuin olisit aidosti suorittanut komennon. Silloin voi päättää olisiko lopputulos haluttu.

 

Dummy-sisältö

Joskus tarvitaan tyhjää tai dummy-sisältöä.

Tämä luo 10 tyhjää artikkelia. Dokumentin mukaan 1000 onnistuu helposti.

wp post generate --count=10

Tällä saadaan lorem ipsum -sisältöä.

curl http://loripsum.net/api/4 | wp post generate --post_content --count=10

Komento tekee 10 artikkelia ja laittaa niihin neljä kappaletta lorem ipsumia.

 

Dummy-käyttäjät

Saat lisättyä tekaistuja käyttäjiä.

wp user generate --count=3 --role=author

Kolme käyttäjää author-roolilla.

 

WordPressin tyhjentäminen

Tyhjentää koko sisällön, mutta ei koske asetuksiin eikä käyttäjiin.

wp site empty

Jos käytät vipua --uploads niin myös uploads-hakemisto tyhjennetään.

 

Osoitteen muuttaminen

wp search-replace vanha.example.com uusi.example.com

Itseasiassa search-replace pystyy etsimään ja korvaamaan lähes kaikkea.

 

WordPressin päivittäminen

wp core update

Tietokannan päivittäminen:

wp core update-db

Huoltotila

Jos WP-komento tarvitsee huoltotilan, kuten päivityksissä, niin se osaa laittaa sen itse päälle. Joskus on tarvetta laittaa itse sivusto huoltilaan.

wp maintenance-mode activate

Huoltilan saa pois päältä:

wp maintenance-mode deactivate

Huoltilan statuksen saa selvitettyä, jos epäilee sen jääneen päälle vaikka epäonnistuneen päivityksen jälkeen:

wp maintenance-mode status

Käyttäjät

Käyttäjien lisääminen ja muokkaaminen on osa perustoimintoja.

Käyttäjät aakkosjärjestyksessä

wp user list

Saat listamuodossa kaikista käyttäjistä ID:n, tunnuksen, näyttönimen, sähköpostin, rekisteröintipäivän ja roolin.

 

Uusi käyttäjä

wp user create test email@example.com --role=author

 

Vaihda salasana

wp user update email@example.com --user_pass=uusi-salasana

Tarkista komennon wp user update muoto täältä.

 

Lisäosat

Itse käytän näitä joko uusien sivustojen luonnissa tai ongelmatapauksissa.

Asennetaan lisäosa

wget https://downloads.wordpress.org/plugin/gutenberg.6.1.1.zip
wp plugin install gutenberg.6.1.1.zip

Jos  asennat lisäosan wordpress.org reposta, niin riittää, että annat install-komennon pluginin slugilla (joka on sama kuin tiedostonimi ilman versiota).

wp plugin install gutenberg

Jos haluat asentaa lisäosan samantien, niin laita loppuun --activate

 

Etsi asennettu lisäosa

wp plugin search gutenberg

Auttaa selvittämään pluginin slugin.

 

Aktivoi lisäosa

wp plugin activate gutenberg

Multisitessä tämä aktivoi vain pääsivustossa. Lisää --url jos haluat myös verkon alasivustoille.

 

Disabloi lisäosa

wp plugin deactivate gutenberg

Gutenberg ei ehkä sittenkään ollut paras vaihtoehto (tähänkään)

 

Poista lisäosa

wp plugin delete gutenberg

Ehkä Gutenberg olikin hyvä esimerkki. PHP-virheiden takia sitä ei saanut poistettua lisäosien hallinnasta. WP-CLI poisti sen kyselemättä turhia.

 

Lisäosan tila

wp plugin status gutenberg
wp plugin status wp-rocket

 

Lisäosan päivitys

wp plugin list | grep available
wp plugin update PLUGIN-SLUG

Kaikkien lisäosien päivitys.

wp plugin update --all

 

Asennetut lisäosat

wp plugin list

Jos lisäät | grep niin saat rajattua hakua. Esimerkiksi aktivoimattomat:

wp plugin list | grep inactive

 

Teemat

WordPressin teemoille voi tehdä aivan samat asiat kuin vaikka lisäosille.

Asennetut teemat

wp theme list

Vaihdat vain komennon plugin muotoon theme, niin aivan samat toimet onnistuvat kuin lisäosillakin.

 

Tietokanta

Tietokannan optimointi

wp db optimize

Tämä kannattaa kylläkin hoitaa ajastettuna pluginin voimin WordPressissä.

 

Tietokannan korjaus

wp db repair

Tämä ei vaadi korjauksen laittamista päälle wp-config.php -tiedostosta.

 

Transientien poisto

Pystyt poistamaan kaikki vanhentuneet transientit.

wp transient delete --expired

Vivulla --all poistat kaikki ja lisäämällä --network saat sen kohdistumaan multisiteen.

 

Vie tietokanta

wp db export nimi.sql

 

Tuo tietokanta

wp db import nimi.sql

 

Artikkelit

Versioiden poisto

Versioiden poisto ei ole suoraan WP-CLI:n toiminto, vaan siihen pitää asentaa laajennus.

wp package install trepmal/wp-revisions-cli

Saat poistettua kaikki versiot.

wp revisions clean

Saat poistettua versiot määrätyltä artikkelilta.

wp revisions clean --post_id=ID

Voit rajata sitä päiväyksen mukaan.

wp revisions clean --post_id=ID --before-date=YYYY-MM-DD

 

Kuvat

Monta kerralla

Joskus on tarve siirtää WordPressin mediakirjastoon useampi kuva kerralla. Siirrä ne ensin johonkin hakemistoon serverille ja komenna sitten:

wp media import hakemisto/*

 

Cron

Tapahtumalista

Cronin toiminnan tarkistaminen onnistuu helposti WP-CLI:n avulla.

wp cron event list

 

WP-CLI laajennukset

WP-CLI:n toimintaa pystyy laajentamaan kolmannen osapuolen laajennuksilla. Aikaisemmin tarjolla olevia laajennuksia pystyi selamaan komennolla wp package browse, mutta sen ylläpito lopetettiin 2017 ja kehitys aloitti keskustelun korvaavan rakentamisesta. Kesällä 2019, tätä kirjoitettaessa, asia ei ole edennyt yhtään. Joten Google lienee ystäväsi. Hiukan hereillä saa tietysti olla mitä asentaa, koska mikään ei takaa, että laajennus on harjoitustyötä kummallisempi, ylipäätään toimiva, päivitetty tai edes turvallinen.

Yksi laajennusten lista löytyy täältä. En tiedä kuinka ajantasainen se on, ja suurin osa on enemmänkin devaajille suunnattuja, mutta oli siellä muutama tarkemman tutustumisen arvoinen joukossa.

Saat selattua asentamasi tällä:

wp package list

Saa päivitettyä paketin näin:

wp package update

Tuo ehkä kannattaisi laittaa croniin.

Asennetun paketin saa poistettua tällä:

wp package uninstall joku/paketti

 

WP Rocket

WP Rocket on Worpdress-maailman toimivin ja tehokkain ns. sivuja tekevä välimuisti. Se tekee jokaisesta (sivukartassa olevasta) WordPressin dynaamisesta sivusta staattisen sivun. Se esitetään paljon nopeammin kuin PHP:n avulla joka kerta tietokannasta rakennettu sivu. Toimii ongelmitta Varnishin ja Redisin kanssa. Mikä mukavinta, sille on olemassa tuki WP-CLI:lle.

Asennus

WP-CLI -tuki on ensin asennettava.

wp package install geekpress/wp-rocket-cli

Cachen tyhjennys

wp rocket clean

Välimuistin rakentaminen

wp rocket preload

 

Vulnerability scanner

Vaikka kukaan ei epäilyttäviä lisäosia asennakaan, niin silti on hyvä joskus varmistua, että tunnettuja aukkoja ei löydy. Viitseliäs tekee tästä cronin ja lähettää tuloksen itselleen mailitse.

Asennus

Skanneri ei kuulu WP-CLI:n valiovarusteisiin, joten asennetaan se.

wp package install 10up/wp-vulnerability-scanner

Aukkojen etsiminen

wp vuln status