Se hur du kan utföra vanliga WordPress-uppgifter snabbare eller till och med automatisera dem med hjälp av bashas kraft.
wp-cli är ett verktyg för att styra WordPress genom ett konsolfönster.
När WordPress-administratörsgränssnittet är så vackert och lätt att använda är den naturliga frågan: varför skulle du någonsin använda ett kommandoradsgränssnitt?
Det finns två huvudorsaker:
I denna handledning kommer jag att ge dig en smak av vad wp-cli är bra för.
Innan du använder det behöver du några saker:
UNIX-liknande skal - Om du är på en Mac eller på Linux kan du köra WP-Cli på din lokala dator. Om du är på Windows kan du logga in på din Linux-server via Putty och installera wp-cli där.
PHP 5.3+ och php-cli-verktyget - Du kan se om du har dessa genom att köra följande kommando:
php -v
Git - Det här är vad vi ska använda för att installera och uppdatera wp-cli.
Wp-cli-projektet är fortfarande i sin linda, så det bästa sättet att hålla sig på de senaste versionerna är att klona det från github:
git klon --recurse-submodules git: //github.com/andreascreten/wp-cli.git ~ / git / wp-cli cd ~ / git / wp-cli sudo utils / build-dev
~ / Git / wp-cli
är katalogen där wp-cli kommer att installeras. Känn dig fri att ändra den till vad du vill.
Det är allt. Nu den wp
kommandot bör vara tillgängligt:
cd / var / www / public_html / wordpress wp
Om du vill använda wp-cli på en multisite-installation måste du bestämma vilken blogg du vill använda på:
wp --blog = myblog.mynetwork.com
För att undvika att behöva passera --blog
parameter för varje kommando kan du lagra det i en särskilt namngiven fil:
echo 'myblog.mynetwork.com'> wp-cli-bloggen
wp-cli kommer att läsa den filen om det inte finns något --blog
parameter.
Låt oss först se vilken version av WordPress vi hanterar:
wp kärnversion --extra
För att utföra en uppdatering behöver du bara skriva:
wp kärna uppdatering
Låt oss se vilka plugins vi har installerat:
wp plugin status
Huh, det verkar att det finns en uppdatering tillgänglig för Akismet. Låt oss installera det:
wp plugin uppdatering akismet
Låt oss nu installera och aktivera ett plugin från wordpress.org:
wp plugin installera google-sitemap-generator - aktivera
Du kan också installera utvecklingsversionen av ett plugin:
wp plugin installera google-sitemap-generator - aktivera --dev
Åh, och se, det finns ett nytt kommando tillgängligt nu:
wp google-sitemap
Vi kan snabbt byta ett plugin från aktiv till inaktiv och vice versa:
wp plugin växla google-sitemap-generator
Det här är ett bra sätt att felsöka aktiveringskrokar.
På samma sätt kan du köra ett avinstallationsprocedur för plugin utan att radera pluginfilerna:
wp plugin avinstallera google-sitemap-generator
Och såklart kan du också ta bort pluginprogrammet:
wp plugin ta bort google-sitemap-generator
Vi har några kommandon för att arbeta med teman också:
wp temat status
Till skillnad från plugins kan du bara ha ett enda tema i taget, så aktiverar ett tema automatiskt "deaktivera" den tidigare:
wp-tema aktiverar tjugo
Och här är ett litet knep för att gå in i katalogen för ett visst tema:
cd $ (wp temat väg twentyeleven)
Om du skriver ett tema och du vill ställa in paginering kommer du att behöva mycket inlägg. Här är det snabbaste sättet att få dem:
wp generera inlägg - antal = 1000
Om du vill ställa in en lista med användare kan du också skapa några av dem:
wp generera användare --role = författare
Du kan också skapa enskilda användare:
wp användare skapa stan [email protected]
Du kanske vill regelbundet exportera ditt innehåll till en WXR-fil.
wp export - path =. / --user = admin
Du kan skicka ytterligare parametrar för att begränsa vilken innehåll som exporteras, till exempel --kategori
, --start datum
etc.
Det finns raka kommandon för CRUD operationer på alternativ:
wp alternativet få permalink_structure wp alternativ lägg till foo bar wp alternativ ta bort foo
Du vill inte göra det regelbundet, eftersom de flesta alternativ är begränsade till vissa värden. Men det kan komma till nytta i skript.
Om du vill säkerhetskopiera databasen skriver du bara:
wp db dumpning
Eller kanske du behöver göra en snabb fråga för att hitta när det senaste inlägget publicerades:
wp db query "VÄLJ MAX (post_date) från wp_posts VAR post_type = 'post' och post_status = 'publicera'"
Att öppna en interaktiv MySQL-session för att göra lite diagnostik är lika enkelt:
wp db cli
Ibland är det enda sättet att berätta wp-cli vad du vill ha genom att beskriva det i PHP-kod:
wp eval-file gör-my-laundry.php
Med ovanstående kommando kommer wp-cli först ladda WordPress och sedan ladda och exekvera din PHP-fil.
Det här är användbart för att distribuera skript eller för andra komplexa åtgärder som inte kan uppnås med hjälp av inbyggda kommandon.
Du kan också vidarebefordra PHP-kod:
wp eval 'echo WP_CONTENT_DIR;'
Tro det eller ej, wp-cli är skrivet mestadels i PHP. Varje kommando är en klass, med varje metod som representerar en underkommando.
Det snygga är att du kan skapa din egen klass, lägga den i ett plugin och wp-cli kommer automatiskt att känna igen det som en av det egna. En detaljerad handledning för att skapa kommandon finns i projektwiki.
Jag hoppas att jag har övertygat dig om att åtminstone ge wp-cli ett försök. Om du har hittat en bugg eller om du har en funktionsförfrågan, överväg att öppna ett problem.
Har ett intressant användarfall för wp-cli? Vänligen dela den i kommentarerna nedan.