WP-CLI v2-Het beheren van WordPress vanaf de Terminal

voor het grootste deel van zijn leven, WordPress is gebouwd met behulp van een eenvoudige code-base met een vleugje object-georiënteerde PHP als het meest abstracte systeem. In de afgelopen jaren verandert dit echter ten goede. Van unit testen tot CSS preprocessing en command line tools, meer en meer ontwikkelaar-vriendelijke activa opduiken. In dit artikel, we zullen kijken naar een van mijn favorieten: WP-CLI.

Wat is WP-CLI?

WP-CLI is een command line tool voor ontwikkelaars om veelvoorkomende taken (en niet zo vaak) van een WordPress installatie te beheren. Het kan gebruikers, berichten, categorieën toevoegen/verwijderen, testgegevens invoegen, zoeken en vervangen in de database, wachtwoorden resetten, helpen bij het oplossen van prestatieproblemen en nog veel meer!

ondersteuning

WP-CLI is al meer dan tien jaar een open source project en wordt sinds 2003 voornamelijk onderhouden door Daniel Bachhuber. Het primaire doel van WP-CLI is om te helpen versnellen WordPress ontwikkelaars workflows.

in de loop der jaren is het project in zoveel meer opgedoken! Het wordt nu zelfs een vereiste voor andere open source projecten zoals Trellis en Bedrock. Met ingang van januari 2017, WP-CLI officieel verhuisd naar WordPress.org en wordt nu mede onderhouden door Alain Schlesser.

WP-CLI v2 werd uitgebracht op 8 augustus 2018, dus we zullen ook enkele van de wijzigingen en nieuwe functies verkennen. Als je een Kinsta klant, WP-CLI v2. 0.1 is standaard geïnstalleerd op al onze servers, gewoon SSH in uw server om te beginnen. SSH toegang is opgenomen in al onze hosting plannen (kan niet verbinden via SSH? Fix de SSH” verbinding geweigerd ” fout).

  • WP-CLI
  • de basis van WP-CLI
  • WP-CLI-opdrachten in het algemeen
  • nuttige voorbeelden
  • WP-CLI op afstand gebruiken
  • Bash-Scripts

WP-CLI

de minimale PHP-vereiste op WP-CLI v2.0.0 is opgewaardeerd naar PHP 5.4. Hoewel dit een goede stap vooruit is, raden we je aan om op zijn minst een ondersteunde versie van PHP te draaien, wat 5.6 of hoger betekent. PHP 7.2 is de standaard op alle Kinsta installaties, zowel voor de veiligheid en prestaties redenen. We hebben ook PHP 7.3 en 7.4 beschikbaar.

om te beginnen moet u WP-CLI installeren-een zeer eenvoudig proces. De stappen voor Linux en OSX zijn de volgende, geef deze drie commando ‘ s de ene na de andere:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharchmod +x wp-cli.pharsudo mv wp-cli.phar /usr/local/bin/wp

als er iets mis gaat of u op Windows verwijzen naar de basisinstructies of de alternatieve installatiemethoden.

als u klaar bent, kunt u het wp --info commando uitvoeren en een betekenisvol antwoord krijgen.

het proces is hetzelfde als u WP-CLI op uw server wilt installeren. Vergeet niet, voor Kinsta clients WP-CLI is al geïnstalleerd. Weet u niet zeker welke versie u momenteel gebruikt? U kunt altijd het wp cli version commando uitvoeren om erachter te komen.

de basisprincipes van WP-CLI

het hebben van toegang tot WordPress vanaf de opdrachtregel is op zich krachtig, maar kan u nog meer controle en snelheid geven bij het gebruik van bash scripts.

met Bash-scripts kunt u een reeks commando ‘ s uitvoeren met één commando. U kunt bash install-and-setup.sh typen en het volgende resultaat krijgen:

  • Download WordPress
  • maak en vul wp-config.php
  • maak de database
  • installeer WordPress
  • installeer en activeer plugins
  • installeer en activeer een thema
  • download en voeg testinhoud

dit zijn de stappen die ik zou nemen om een nieuwe testomgeving voor een project te creëren. Normaal gesproken zou het me 5-10 minuten op zijn minst, vooral als er een paar plugins betrokken. Het geven van een enkel commando is natuurlijk een stuk sneller.

WP-CLI commando ‘ s in het algemeen

Als u gewend bent om in de terminal te werken, is er niets speciaals aan WP-CLI voor u. Commando ‘ s beginnen altijd met wp gevolgd door een commando en subcommando, gevolgd door vereiste en optionele parameters, zoiets als dit:

wp command subcommand requiredparam --optionalparam --optionalparam2=value

laten we een thema installeren om te zien hoe dit werkt met een echte opdracht:

wp theme install twentyseventeen --activate

hiermee installeert en activeert u het Twenty Seventeen-thema op uw WordPress-installatie.

merk op dat WP-CLI zal werken met de WordPress installatie die u momenteel in de terminal bevindt. Als u mappen om te schakelen naar een andere WordPress installatie, het zal werken met die ene.

nuttige voorbeelden

dat was WP-CLI in een notendop! Hoewel er een paar geavanceerde dingen die je kunt doen, die we zullen krijgen om in een moment, je al genoeg Weet om te beginnen en doen wat je moet doen. Ik raad het nemen van een kijkje op de lijst met opdrachten, probeer een aantal van hen uit. We zullen een kijkje nemen op een aantal nuttige dingen hier, dan gaan we verder met het gebruik van WP-CLI over SSH en het gebruik van bash scripts.

WordPress installeren

Ik gebruik WP-CLI veel om testomgevingen op te zetten, waarvan de eerste stap een vanilla installatie is. Hier is een lijst met commando ‘ s die ik run:

wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

merk op hoe cool dit is! De meest recente versie van WordPress wordt gedownload met het eerste commando. Het tweede commando stelt het config bestand op met de toegang tot de database en wat extra PHP aan het einde. De extra constanten zorgen ervoor dat we onze foutopsporingsopties hebben ingeschakeld voor het testen. We hebben hier een gedetailleerde handleiding als u meer wilt weten over het debuggen van WordPress.

het derde commando maakt de database aan (WP-CLI gebruikt de toegangsgegevens van de database uit het configuratiebestand) en tenslotte installeren we WordPress met een aantal parameters.Installeer WordPress Core

u kunt WordPress core ook opnieuw installeren met WP-CLI. De volgende opdracht zou WordPress core te downloaden zonder de standaard thema ‘ s en plugins.

wp core download --skip-content --force

Wijzig WordPress URL

er zijn vele redenen waarom u mogelijk uw WordPress URL wilt wijzigen. Misschien verander je domeinen, Verhuis je naar een subdomein, update je van www naar niet-www, verplaats je bestanden of migreer je zelfs van HTTP naar HTTPS. Wat het geval ook moge zijn, u kunt hier eenvoudig het wp option update commando voor gebruiken. Hier is een voorbeeld hieronder:

wp option update home 'http://example.com'wp option update siteurl 'http://example.com'

lijst van huidige plug-ins met Details

om een lijst van huidige plug-ins op een site te krijgen gebruikt u het volgende commando. In dit voorbeeld kunt u zien dat we het Schema en Yoast SEO plugin geïnstalleerd. Het retourneert ook de status (Actief/gedeactiveerd), als er een update beschikbaar is, en de huidige versie.

wp plugin list
WP-CLI-pluginlijst

WP-CLI-pluginlijst

meerdere Plugins installeren

om meerdere plugins te installeren kunt u eenvoudig op parameters stapelen. Hier is een voorbeeld dat downloadt en activeert 3 plugins:

wp plugin install advanced-custom-fields jetpack ninja-forms --activate

merk op dat de plugin namen komen uit hun naam in de repository. De makkelijkste manier om dit uit te zoeken is om hun pagina te bezoeken en naar de URL te kijken of om wp plugin search searchterm te gebruiken die u een lijst in de terminal geeft.

WordPress plugin repository URL

WordPress plugin repository URL

u kunt ook oudere versies van WordPress plugins installeren indien nodig met het --version attribuut.

wp plugin install wordpress-seo --version=4.8 --activate

nog leuker, u kunt plugins installeren van externe bestanden, niet alleen de repository die handig is als u een plugin ontwikkelt, of een premium plugin gebruikt. Het volgende commando installeert twee plugins van de repository en een van een Amazon S3 server.

wp plugin install advanced-custom-fields jetpack https://d1qas1txbec8n.cloudfront.net/wp-content/uploads/2015/06/23073607/myplugin.zip --activate

meerdere Plugins

om een enkele plugin te deactiveren kunt u het volgende commando uitvoeren.

wp plugin deactivate wordpress-seo

voer het volgende commando uit om al uw plugins tegelijk te deactiveren.

wp plugin deactivate --all
WP-CLI alle plug-ins

WP-CLI alle plug-ins

dit bovenstaande commando kan handig zijn als u problemen met Compatibiliteit oplost en alle plug-ins in één klap moet deactiveren. Je kunt dan teruggaan en ze één voor één inschakelen, terwijl je ze test.

plugins

u kunt ook WordPress plugins handmatig bijwerken. Voorbeeld hieronder:

wp plugin update wordpress-seo
wp-cli wordpress plugin

WP-CLI WordPress plugin

Database zoeken en vervangen

een van de belangrijkste redenen waarom het moeilijk is om een site te migreren door een database te kopiëren-plakken is dat de database serialized arrays bevat. Als u alle instanties van http://testsite.com moet vervangen door http://livewebsite.com zullen uw serialized arrays geen zin hebben omdat het aantal tekenreeksen niet overeenkomt.

schrijf je in voor de nieuwsbrief

we groeiden ons verkeer 1,187% met WordPress. We zullen je laten zien hoe.

Word lid van 20.000 + anderen die onze wekelijkse nieuwsbrief krijgen met insider WordPress tips!

Subscribe Now

het search-replace Commando unserialiseert eerst arrays, voert dan het zoeken en vervangen uit en herserialiseert de arrays. U kunt dit doen met een eenvoudig commando:

wp search-replace oldstring newstring

met extra parameters kunt u veel meer doen, waaronder een voorbeeld van wat zal worden vervangen door --dry-run.

Import En Export

er zijn twee manieren om inhoud te exporteren met WP-CLI. U kunt een XML-bestand maken, net als de WordPress export tool doet, of u kunt exporteren / importeren van de raw-database. Ik vind het later een stuk nuttiger in mijn dagelijkse routine, het komt van pas bij het synchroniseren van sites.

wp db export is alles wat u moet doen om een SQL-bestand aan te maken en wp db import file.sql is alles wat u nodig hebt om het te importeren. Werkt als een charme, maar wees voorzichtig niet te overschrijven alles wat je nodig hebt, importeren zal in principe dump de bestaande database en gebruik maken van de meegeleverde SQL-bestand in plaats daarvan.

rollen en mogelijkheden beheren

WP-CLI kan rollen voor u vrij eenvoudig beheren met het commando wp role. Dit is vrij cool als u wilt testen hoe uw plugin werkt met aangepaste rollen, maar je hoeft eigenlijk niet de rollen binnen uw plugin.

wp role create organizer Organizerwp cap list 'editor' | xargs wp cap add 'organizer'wp cap add 'organizer' 'manage-events'

de bovenstaande commando ‘ s maken een nieuwe rol (organisator), voegen alle mogelijkheden van de editor rol toe en voegen dan een nieuwe mogelijkheid toe: manage-events.

testgegevens genereren

ik ben dol op allerlei faker-achtige functies – functies die dummy-inhoud aan uw site toevoegen die u kunt gebruiken voor tests. WP-CLI heeft een paar van deze ingebouwde, hier zijn een paar functies die gebruikers zal genereren, termen en berichten.

wp user generate --count=5 --role=editorwp user generate --count=10 --role=authorwp term generate --count=12wp post generate --count=50

wp-cron-gebeurtenissen beheren

u kunt wp-cron-gebeurtenissen en of een WordPress-cron-taak beheren in WP-CLI. Het volgende commando geeft je bijvoorbeeld je huidige cron event list.

wp cron event list
wp-cron gebeurtenislijst

wp-cron gebeurtenislijst

overgangen verwijderen

u kunt zelfs één of alle overgangen verwijderen en wissen met het volgende commando.

wp transient delete --all

als je multisite draait, heb je een iets ingewikkelder commando nodig. Standaard controleert het commando alleen de wp_options tabel. Het controleert niet op wp_1_options, wp_2_options, enz.

worstelt met downtime en WordPress problemen? Kinsta is de hosting oplossing ontworpen om u tijd te besparen! Bekijk onze functies

wp transient delete --all --network && wp site list --field=url | xargs -n1 -I % wp --url=% transient delete --all

wp_options Table

de wp_options-tabel kan een veel voorkomende boosdoener zijn voor trage query-tijden op uw site als gevolg van automatisch geladen gegevens die achterblijven van plug-ins en thema ‘ s van derden. Bekijk dit geweldige artikel van WP Bullet over het gebruik van WP-CLI op te ruimen uw wp_options tabel.

Verwijder WordPress revisies

op grote sites kunnen WordPress revisies snel oplopen tot duizenden rijen in uw database die niet nodig zijn. U kunt Post revisies verwijderen met WP-CLI. Hier is een voorbeeld van het commando:

$ wp post delete $(wp post list --post_type='revision' --format=ids)
wp-cli verwijder wordpress revisies

WP-CLI Verwijder WordPress revisies

Beheer onderhoudsmodus

vanaf WP-CLI v2. 2. 0 kunt u nu de onderhoudsmodus beheren op uw WordPress site. Bijvoorbeeld:

wp maintenance-mode activatewp maintenance-mode deactivatewp maintenance-mode status

indexering van gegevens met Elasticsearch

Elasticsearch is een open-source full-text zoekmachine. Het wordt gebruikt om gegevens te indexeren en te zoeken die gegevens ongelooflijk snel. Wij bieden dit als een add-on voor Kinsta klanten. U kunt ElasticPress WP-CLI commando ‘ s gebruiken om indexering via SSH uit te voeren. Voorbeeld:

wp elasticpress index

werken met meertalige Sites

WP-CLI v2. 0. 0 bevat een nieuwe reeks opdrachten wp i18n voor degenen die met meertalige sites werken. U kunt bijvoorbeeld een POT-bestand maken voor een WordPress plugin of thema.

wp i18n make-pot <source> ] 

zie i18n-command documentation.

WP-CLI gebruiken met WooCommerce

werken met e-commercesites? 🛒 We raden het controleren van Robot Ninja ’s verbazingwekkende WP-CLI WooCommerce development guide voor snelle en eenvoudige commando’ s die u kunt gebruiken. Het genereren van een lijst van klanten, bestellingen, en zelfs het creëren van bulkproducten zijn allemaal mogelijk met WP-CLI.

WP-CLI op afstand gebruiken

een van de beste dingen die u kunt doen met WP-CLI is uw WordPress-installaties op afstand beheren. Dit is echt een website manager ‘ s droom die uitkomt.

om WP-CLI commando ‘ s naadloos uit te voeren op een externe server via SSH had u eerder het WP-cli-SSH addon commando nodig. Maar vanaf v0. 24. 0 is dit nu onderdeel van WP-CLI zelf! Important

belangrijk: U moet WP-CLI geïnstalleerd hebben op zowel de computer waarvan u de opdracht uitvoert als op uw server.

externe Servers configureren

u kunt uw servers globaal of lokaal configureren. Om ze globaal te configureren, Gebruik je het config.yml bestand. U kunt ook de bestanden wp-cli.yml of wp-cli.local.yml in uw huidige werkmap gebruiken.

de configuratie van servers werkt ongeveer zo, plak dit in een van de genoemde bestanden:

ssh: staging: cmd: ssh %pseudotty% %cmd% url: http://myseite.com path: /www/path/to/site/root

zodra dit alles is gedaan kunt u het volgende commando om WordPress bij te werken op uw externe site:

wp ssh core update --host=staging

als u een heleboel sites bezit of beheert, denk ik dat u kunt zien dat dit geweldig is! Het script zal om een wachtwoord vragen, maar als je RSA sleutels gebruikt om in te loggen kun je dat ook opgeven. Neem een kijkje op dit artikel om dat op te zetten.

het gebruik van Bash-Scripts

Bash-scripts bespaart u nog meer tijd door taken te automatiseren. Weet je nog hoe we nodig hadden om veel commando ‘ s te typen om WordPress te installeren? Je kunt dat doen met een enkele bash script. Maak in een map een install.sh bestand aan. Plak dezelfde code die we eerder binnen hadden en sla het op.

wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

alles wat u nu moet doen is bash install.sh typen en alles zal voor u worden gedaan, zonder tussenkomst van de gebruiker. Als je veel sites beheert, kun je al je omgevingen instellen en een bash script maken zoals dit:

wp ssh core update --host=clientAwp ssh core update --host=clientBwp ssh core update --host=clientCwp ssh core update --host=clientD

wanneer een nieuwe WordPress versie komt uit, kan dit bespaart u een hoop tijd! Aangezien u kunt doen wat je wilt met WP-CLI kunt u zelfs thema ‘ s en plugins regelmatig bij te werken op een aantal client sites in een keer.

samenvatting

WP-CLI is echt de droom van de ontwikkelaar en de websitemanager. Als ontwikkelaars kunnen we testsites maken in een handomdraai, testinhoud toevoegen en allerlei import/export magie doen. Site managers kunnen site updates en andere taken voor meerdere sites met enkele commando ‘ s af te handelen. Zorg ervoor dat u check out de WP-CLI v2 release notes!

Als u WP-CLI nog niet hebt geprobeerd, raad ik u aan om het eens te proberen. Er zijn ook een heleboel community commando ‘ s zoals WP-CLI-SSH die nog meer geweldige functies toevoegen! Als je problemen ondervindt, zorg er dan voor dat je de WP-CLI common issues documentatie bekijkt.

vergeet niet dat Kinsta ‘ s Google Cloud-gebaseerde architectuur WP-CLI out of the box ondersteunt. Als u wilt proberen de meest moderne WordPress hosting architectuur en hebben toegang tot grote tools zoals WP-CLI, probeer dan onze managed WordPress hosting.

als u dit artikel leuk vond, dan zult u genieten van Kinsta ‘ s WordPress hosting platform. Turbocharge uw website en krijgen 24/7 ondersteuning van onze veteraan WordPress team. Onze door Google Cloud aangedreven infrastructuur richt zich op automatische schaling, prestaties en beveiliging. Laat ons u het Kinsta verschil tonen! Bekijk onze plannen



+