Se hvordan du kan utføre vanlige WordPress-oppgaver raskere eller til og med automatisere dem ved å bruke kraften til bash.
wp-cli er et verktøy for å kontrollere WordPress gjennom et konsollvindu.
Når WordPress-administrasjonsgrensesnittet er så vakkert og enkelt å bruke, er det naturlige spørsmålet: Hvorfor skulle du noen gang bruke en kommandolinjegrensesnitt?
Det er to hovedårsaker:
I denne opplæringen skal jeg gi deg en smak av hva wp-cli er bra for.
Før du bruker det, trenger du et par ting:
UNIX-lignende skall - Hvis du er på en Mac eller på Linux, kan du kjøre wp-cli på din lokale maskin. Hvis du er på Windows, kan du logge deg på Linux-serveren din via Putty og installere wp-cli der.
PHP 5.3+ og php-cli-verktøyet - Du kan se om du har disse ved å kjøre følgende kommando:
php -v
Git - Dette er hva vi skal bruke for å installere og oppdatere wp-cli.
Wp-cli-prosjektet er fortsatt i barndommen, så den beste måten å holde seg på de siste versjonene er å klone den fra github:
git klone - recurse-submodules git: //github.com/andreascreten/wp-cli.git ~ / git / wp-cli cd ~ / git / wp-cli sudo utils / build-dev
~ / Git / wp-cli
er katalogen der wp-cli vil bli installert. Du er velkommen til å endre den til hva du vil.
Det er det. Nå wp
kommandoen bør være tilgjengelig:
cd / var / www / public_html / wordpress wp
Hvis du vil bruke wp-cli på en flersidig installasjon, må du bestemme hvilken blogg du vil operere på:
wp --blog = myblog.mynetwork.com
For å unngå å måtte passere --blog
parameter for hver kommando, kan du lagre den i en spesielt navngitt fil:
ekko 'myblog.mynetwork.com'> wp-cli-bloggen
wp-cli vil lese den filen hvis det er nei --blog
parameter.
Først, la oss se hvilken versjon av WordPress vi har å gjøre med:
wp kjerneversjon - ekstra
For å utføre en oppdatering, trenger du bare å skrive:
wp kjerneoppdatering
La oss se hvilke plugins vi har installert:
wp plugin status
Huh, det ser ut til at det er en oppdatering tilgjengelig for Akismet. La oss installere det:
wp plugin oppdatering akismet
La oss nå installere og aktivere et plugin fra wordpress.org:
wp plugin installere google-sitemap-generator - aktiver
Du kan også installere utviklingsversjonen av et plugin:
wp plugin installere google-sitemap-generator - aktivere --dev
Åh, og se, det er en ny kommando tilgjengelig nå:
wp google-sitemap
Vi kan raskt bytte et plugin fra aktive til inaktive og omvendt:
wp plugin bytte google-sitemap-generator
Dette er en fin måte å feilsøke aktiveringskroker på.
På samme måte kan du kjøre en avinstalleringsprosedyre for plugin uten å slette pluginfilene:
wp plugin avinstaller google-sitemap-generator
Og selvfølgelig kan du også slette plugin:
wp plugin slette google-sitemap-generator
Vi har også noen få kommandoer for å jobbe med temaer:
wp tema status
I motsetning til plugins, kan du bare ha et enkelt tema som kjører av gangen, så aktivering av et tema vil automatisk deaktivere den forrige:
wp tema aktivere tjueen
Og her er et lite triks for å gå inn i katalogen for et bestemt tema:
cd $ (wp tematittel twentyeleven)
Hvis du skriver et tema og du vil utforme paginasjonen, trenger du mange innlegg. Her er den raskeste måten å få dem på:
wp generere innlegg - antall = 1000
Hvis du vil utforme en liste over brukere, kan du også generere noen av dem:
wp generere brukere --role = forfatter
Du kan også opprette individuelle brukere:
wp bruker lage stan [email protected]
Du vil kanskje regelmessig eksportere innholdet ditt til en WXR-fil.
wp eksport - path =. / --user = admin
Du kan sende flere parametere for å begrense hvilket innhold som eksporteres, for eksempel --kategori
, --startdato
etc.
Det er enkle kommandoer for CRUD operasjoner på opsjoner:
wp alternativet få permalink_structure wp alternativ legge foo bar wp alternativ slette foo
Du vil ikke gjøre dette regelmessig, ettersom de fleste alternativer er begrenset til bestemte verdier. Men det kan komme til nytte i skript.
Hvis du vil sikkerhetskopiere databasen, skriv bare:
wp db dump
Eller kanskje du trenger å gjøre et raskt spørsmål for å finne når det siste innlegget ble publisert:
wp db query "SELECT MAX (post_date) fra wp_posts WHERE post_type = 'post' og post_status = 'publiser'
Å åpne en interaktiv MySQL-økt for å gjøre noe diagnostikk er like enkelt:
wp db cli
Noen ganger er den eneste måten å fortelle wp-cli hva du vil, ved å beskrive den i PHP-kode:
wp eval-fil gjør-min-laundry.php
Med kommandoen ovenfor vil wp-cli først laste inn WordPress og deretter laste og utføre PHP-filen din.
Dette er nyttig i distribusjonsskript eller for andre komplekse handlinger som ikke kan oppnås ved hjelp av innebygde kommandoer.
Du kan også sende PHP-kode inline:
wp eval 'echo WP_CONTENT_DIR;'
Tro det eller ei, wp-cli er skrevet mest i PHP. Hver kommando er en klasse, med hver metode som representerer en underkommando.
Den ryddige tingen er at du kan lage din egen klasse, sette den i en plugin og wp-cli vil automatisk gjenkjenne den som en av sin egen. En detaljert opplæring for å lage kommandoer er tilgjengelig i prosjektwiki.
Jeg håper jeg har overbevist om at du i det minste gir wp-cli en prøve. Hvis du har funnet en feil eller hvis du har en funksjonsforespørsel, bør du vurdere å åpne et problem.
Har du en interessant brukstilfelle for wp-cli? Vennligst del den i kommentarene nedenfor.