Zie hoe u veelgebruikte WordPress-taken sneller kunt uitvoeren of zelfs automatiseren door de kracht van bash te gebruiken.
wp-cli is een hulpmiddel voor het beheren van WordPress via een consolevenster.
Wanneer de WordPress-beheerdersinterface zo mooi en gebruiksvriendelijk is, is de natuurlijke vraag: waarom zou u ooit een opdrachtregelinterface gebruiken?
Er zijn twee belangrijke redenen:
In deze tutorial ga ik je een voorproefje geven van waar wp-cli goed voor is.
Voordat je het gebruikt, heb je een paar dingen nodig:
UNIX-achtige schaal - Als u op een Mac of Linux werkt, kunt u wp-cli uitvoeren op uw lokale computer. Als u Windows gebruikt, kunt u zich aanmelden bij uw Linux-server via Putty en wp-cli daar installeren.
PHP 5.3+ en het php-cli-hulpprogramma - U kunt zien of u deze hebt door de volgende opdracht uit te voeren:
php -v
Git - Dit is wat we zullen gebruiken om wp-cli te installeren en bij te werken.
Het wp-cli-project staat nog in de kinderschoenen, dus de beste manier om op de hoogte te blijven van recente versies is door het vanuit github te klonen:
git clone --recurse-submodules git: //github.com/andreascreten/wp-cli.git ~ / git / wp-cli cd ~ / git / wp-cli sudo utils / build-dev
~ / Git / wp-cli
is de map waar wp-cli zal worden geïnstalleerd. Voel je vrij om het te veranderen naar wat je maar wilt.
Dat is het. Nu de wp
commando zou beschikbaar moeten zijn:
cd / var / www / public_html / wordpress wp
Als u wp-cli wilt gebruiken voor een multisite-installatie, moet u beslissen op welke blog u wilt werken:
wp --blog = myblog.mynetwork.com
Om te voorkomen dat je de --blog
parameter voor elke opdracht, kunt u deze opslaan in een speciaal genoemd bestand:
echo 'myblog.mynetwork.com'> wp-cli-blog
wp-cli zal dat bestand lezen als er nee is --blog
parameter.
Laten we eerst kijken met welke versie van WordPress we te maken hebben:
wp core-versie - extra
Om een update uit te voeren, hoeft u alleen maar te schrijven:
wp core-update
Laten we eens kijken welke plug-ins we hebben geïnstalleerd:
wp plugin-status
Het lijkt erop dat er een update beschikbaar is voor Akismet. Laten we het installeren:
wp plugin update akismet
Laten we nu een plug-in van wordpress.org installeren en activeren:
wp plugin installeer google-sitemap-generator - activeer
U kunt ook de ontwikkelversie van een plug-in installeren:
wp plugin installeer google-sitemap-generator - activeer --dev
Oh, en kijk, er is nu een nieuwe opdracht beschikbaar:
wp google-sitemap
We kunnen snel een plug-in van actief naar inactief veranderen en omgekeerd:
wp plug-in toggle google-sitemap-generator
Dit is een goede manier om activatiehaken te debuggen.
Op dezelfde manier kunt u de verwijderingsprocedure van een plug-in uitvoeren zonder de plug-inbestanden te verwijderen:
wp plugin verwijderen google-sitemap-generator
En natuurlijk kun je de plug-in ook verwijderen:
wp plugin delete google-sitemap-generator
We hebben een paar opdrachten om met thema's te werken:
wp-thema status
In tegenstelling tot plug-ins, kunt u slechts één thema tegelijkertijd laten werken, dus als u een thema activeert, wordt het vorige thema automatisch "gedeactiveerd":
wp-thema activeren twintig
En hier is een kleine truc om in de directory van een bepaald thema te gaan:
cd $ (wp themapad twentyeleven)
Als u een thema aan het schrijven bent en de paginering wilt stylen, zult u veel posts nodig hebben. Dit is de snelste manier om ze te krijgen:
wp genereert berichten --count = 1000
Als je een lijst met gebruikers wilt stylen, kun je er ook een aantal genereren:
wp genereer gebruikers --role = auteur
U kunt ook individuele gebruikers maken:
wp-gebruiker maakt stan [email protected]
U kunt uw inhoud periodiek exporteren naar een WXR-bestand.
wp export --path =. / --user = admin
U kunt aanvullende parameters doorgeven om te beperken welke inhoud wordt geëxporteerd, zoals --categorie
, --begin datum
enz.
Er zijn eenvoudige commando's voor CRUD bewerkingen op opties:
wp optie krijg permalink_structure wp optie voeg foo bar toe wp optie delete foo
U wilt dit niet op een regelmatige basis doen, omdat de meeste opties beperkt zijn tot bepaalde waarden. Maar het kan van pas komen in scripts.
Als u een back-up van de database wilt maken, schrijft u gewoon:
wp db dump
Of misschien moet u een korte zoekopdracht uitvoeren om te achterhalen wanneer de laatste post is gepubliceerd:
wp db query "SELECT MAX (post_date) van wp_posts WHERE post_type = 'post' AND post_status = 'publish'"
Het openen van een interactieve MySQL-sessie om wat diagnostiek te doen is net zo eenvoudig:
wp db cli
Soms is de enige manier om wp-cli te vertellen wat je wilt, door het te beschrijven in PHP-code:
wp eval-file do-my-laundry.php
Met de opdracht hierboven laadt wp-cli eerst WordPress en laadt en voert het je PHP-bestand uit.
Dit is handig in implementatiescripts of voor andere complexe acties die niet kunnen worden bereikt met ingebouwde opdrachten.
Je kunt ook inline PHP-code doorgeven:
wp eval 'echo WP_CONTENT_DIR;'
Geloof het of niet, wp-cli is meestal geschreven in PHP. Elke opdracht is een klasse, waarbij elke methode een subopdracht vertegenwoordigt.
Het leuke is dat je je eigen klasse kunt maken, deze in een plug-in kunt plaatsen en wp-cli automatisch zal herkennen als een van die van hemzelf. Een gedetailleerde zelfstudie voor het maken van opdrachten is beschikbaar in de projectwiki.
Ik hoop dat ik je heb overtuigd om Wp-Cli op zijn minst eens te proberen. Als je een bug hebt gevonden of een functieverzoek hebt, overweeg dan om een probleem te openen.
Heeft u een interessant gebruik van wp-cli? Deel het alsjeblieft in de comments hieronder.