WP – CLI v2-gestionarea WordPress de la terminalul

pentru cea mai mare parte a vieții sale, WordPress a fost construit folosind o bază de cod simplă, cu o linie de PHP orientată pe obiecte fiind cel mai abstract sistem. În ultimii ani, însă, acest lucru se schimbă în bine. De la testarea unității la preprocesarea CSS și instrumentele din linia de comandă, apar tot mai multe active prietenoase cu dezvoltatorii. În acest articol, ne vom uita la unul dintre preferatele mele: WP-CLI.

ce este WP-CLI?

WP-CLI este un instrument de linie de comandă pentru dezvoltatori pentru a gestiona sarcini comune (și nu atât de comune) ale unei instalări WordPress. Poate adăuga / elimina utilizatori, postări, categorii, introduce date de testare, căuta și înlocui în baza de date, reseta parolele, ajuta la depanarea problemelor de performanță și multe altele!

suport

WP-CLI este un proiect open source de peste un deceniu, fiind întreținut în principal de Daniel Bachhuber din 2003. Scopul principal al WP-CLI este de a ajuta la accelerarea fluxurilor de lucru ale dezvoltatorului WordPress.

de-a lungul anilor, proiectul a apărut în mult mai mult! Acum devine chiar o cerință pentru alte proiecte open source, cum ar fi Trellis și Bedrock. Începând din ianuarie 2017, WP-CLI s-a mutat oficial în WordPress.org și este, de asemenea, acum Co-întreținut de Alain Schlesser.

WP-CLI v2 a fost lansat pe 8 August 2018, așa că vom explora, de asemenea, unele dintre modificările și noile caracteristici. Dacă sunteți un client Kinsta, WP-CLI v2.0.1 este instalat în mod implicit pe toate serverele noastre, pur și simplu SSH în serverul dvs. pentru a începe. Accesul SSH este inclus în toate planurile noastre de găzduire (nu se poate conecta prin SSH? Remediați eroarea SSH „conexiune refuzată”).

  • Noțiuni de bază WP-CLI
  • elementele de bază ale WP-CLI
  • comenzi WP-CLI în general
  • exemple utile
  • folosind WP-CLI de la distanță
  • folosind scripturi Bash

Noțiuni de bază WP-CLI

cerința minimă php pe WP-CLI v2.0.0 a fost lovit până la PHP 5.4. Deși aceasta este o mișcare bună înainte, vă recomandăm să rulați cel puțin o versiune acceptată de PHP, adică 5.6 sau mai mare. PHP 7.2 este implicit pentru toate instalările Kinsta, atât din motive de securitate, cât și din motive de performanță. Avem, de asemenea, PHP 7.3 și 7.4 disponibile.

pentru a începe, va trebui să instalați WP-CLI – un proces foarte simplu. Pașii Pentru Linux și OSX sunt următorii, emiteți aceste trei comenzi una după alta:

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

dacă ceva nu merge bine sau sunteți pe Windows, consultați instrucțiunile de bază sau metodele alternative de instalare.

odată terminat, ar trebui să puteți emite comanda wp --info și să obțineți un răspuns semnificativ.

procesul este același dacă doriți să instalați WP-CLI pe serverul dvs. Amintiți-vă, pentru clienții Kinsta WP-CLI este deja instalat. Nu sunteți sigur ce versiune rulați în prezent? Puteți emite întotdeauna comanda wp cli version pentru a afla.

elementele de bază ale WP-CLI

accesul la WordPress din linia de comandă este puternic în sine, dar vă poate oferi și mai mult control și câștiguri de viteză atunci când utilizați scripturi bash.

scripturile Bash vă permit să rulați o secvență de comenzi cu o singură comandă. Ai putea Tip bash install-and-setup.sh și a obține următorul rezultat:

  • descărcați WordPress
  • creați și populați wp-config.php
  • creați baza de date
  • instalați WordPress
  • instalați și activați orice pluginuri de care aveți nevoie
  • instalați și activați o temă
  • descărcați și adăugați conținut de testare

acestea ar fi pașii pe care i-aș lua pentru a crea un nou mediu de testare pentru un proiect. În mod normal, mi-ar lua 5-10 minute cel puțin, mai ales dacă există câteva pluginuri implicate. Emiterea unei singure comenzi este, evident, mult mai rapidă.

comenzi WP-CLI în General

dacă sunteți obișnuiți să lucrați în terminal, nu este nimic special despre WP-CLI pentru dvs. Comenzile încep întotdeauna cu wp urmate de o comandă și Subcomandă, urmate de parametrii necesari și opționali, ceva de genul acesta:

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

să instalăm o temă pentru a vedea cum funcționează cu o comandă reală:

wp theme install twentyseventeen --activate

aceasta va instala și activa tema Twenty Seventeen pe instalarea dvs.

rețineți că WP-CLI va lucra cu instalarea WordPress vă aflați în prezent în terminal. Dacă comutați directoarele pentru a merge la o altă instalare WordPress, aceasta va funcționa cu aceasta.

exemple utile

asta a fost WP-CLI pe scurt! Deși există câteva lucruri avansate pe care le puteți face, la care vom ajunge într-o clipă, știți deja suficient pentru a începe și a face tot ce trebuie. Vă recomandăm să aruncați o privire la lista de comenzi, încercați unele dintre ele. Vom arunca o privire la câteva lucruri utile aici, apoi vom trece la utilizarea WP-CLI peste SSH și folosind scripturi bash.

instalarea WordPress

folosesc WP-CLI mult pentru a configura medii de testare, primul pas fiind o instalare de vanilie. Iată o listă de comenzi pe care le rulez:

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 

rețineți cât de cool este acest lucru! Cea mai recentă versiune de WordPress este descărcată folosind prima comandă. A doua comandă stabilește fișierul de configurare cu accesul la baza de date și unele PHP suplimentare la sfârșit. Constantele suplimentare asigurați-vă că avem opțiunile noastre de depanare pentru testare. Avem un ghid detaliat aici dacă doriți să aflați mai multe despre depanarea WordPress.

a treia comandă creează baza de date (WP-CLI folosește informațiile de acces la baza de date din fișierul de configurare) și, în final, instalăm WordPress folosind câțiva parametri.

reinstalați WordPress Core

de asemenea, puteți reinstala WordPress core folosind WP-CLI. Următoarea comandă ar descărca WordPress core fără temele și pluginurile implicite.

wp core download --skip-content --force

schimbați adresa URL WordPress

există multe motive pentru care ați putea avea nevoie sau doriți să vă schimbați adresa URL WordPress. Poate că schimbați domenii, treceți la un subdomeniu, actualizați de la www la non-www, mutați fișiere în jur sau chiar migrați de la HTTP la HTTPS. Oricare ar fi cazul, puteți utiliza cu ușurință Utilizați comanda wp option update pentru aceasta. Iată un exemplu de mai jos:

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

Lista de plugin-uri curente cu detalii

pentru a obține o listă de plugin-uri curente instalate pe un site pur și simplu utilizați următoarea comandă. În acest exemplu, puteți vedea că avem schema și pluginul Yoast SEO instalat. De asemenea, va returna starea (activă/dezactivată), dacă există o actualizare disponibilă și versiunea curentă.

wp plugin list
WP-CLI plugin list

WP-CLI plugin list

instalarea mai multor plugin-uri

pentru a instala mai multe plugin-uri puteți pur și simplu gramada pe parametri. Iată un exemplu care descarcă și activează 3 pluginuri:

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

rețineți că numele pluginului provin de la numele lor din depozit. Cel mai simplu mod de a afla acest lucru este să vizitați pagina lor și să priviți adresa URL sau să utilizați wp plugin search searchterm care vă va oferi o listă în terminal.

WordPress plugin repository URL

WordPress plugin repository URL

puteți instala, de asemenea, versiuni mai vechi de plugin-uri WordPress, dacă este necesar, cu --version atribut.

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

chiar mai cool, puteți instala pluginuri din fișiere la distanță, nu doar depozitul care este la îndemână dacă dezvoltați un plugin sau utilizați un plugin premium. Următoarea comandă instalează două pluginuri din depozit și unul de pe un server Amazon S3.

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

dezactivați mai multe pluginuri

pentru a dezactiva un singur plugin, puteți rula următoarea comandă.

wp plugin deactivate wordpress-seo

pentru a dezactiva toate pluginurile simultan, executați următoarea comandă.

wp plugin deactivate --all
WP-CLI dezactivați toate pluginurile

WP-CLI dezactivați toate pluginurile

această comandă de mai sus poate fi utilă dacă depanați problemele de compatibilitate și pur și simplu trebuie să dezactivați toate pluginurile dintr-o singură lovitură. Puteți apoi să vă întoarceți și să le activați unul câte unul, testând pe măsură ce mergeți.

actualizați pluginurile

de asemenea, puteți actualiza manual pluginurile WordPress. Exemplul de mai jos:

wp plugin update wordpress-seo
WP-cli manual actualizare wordpress plugin

WP-CLI manual actualizare WordPress plugin

căutare de baze de date și înlocuiți

unul dintre principalele motive pentru care este dificil de a migra un site de doar copiere-lipire o bază de date este că baza de date conține matrice serializate. Dacă trebuie să înlocuiți toate instanțele http://testsite.com cu http://livewebsite.com tablourile dvs. serializate nu vor avea sens, deoarece numărul șirurilor nu se va potrivi.

Inscrie-te la Newsletter

am crescut traficul nostru 1,187% cu WordPress. Vă vom arăta cum.

Alăturați-vă 20,000 + alții care primesc newsletter-ul nostru săptămânal cu insider WordPress sfaturi!

Aboneaza-te acum

search-replace comanda unserializes matrice în primul rând, apoi efectuează căutarea și înlocuiți, apoi re-serializează matrice. Puteți face acest lucru cu o comandă simplă:

wp search-replace oldstring newstring

parametrii suplimentari vă permit să faceți mult mai mult, inclusiv previzualizarea a ceea ce va fi înlocuit folosind --dry-run.

Import și Export

există două moduri de a exporta conținut cu WP-CLI. Puteți crea un fișier XML, la fel ca instrumentul de export WordPress, sau puteți exporta/importa baza de date raw. Mi se pare mai târziu mult mai util în rutina mea de zi cu zi, vine la îndemână atunci când sincronizarea site-uri.

wp db export este tot ce trebuie să faceți pentru a crea un fișier SQL și wp db import file.sql este tot ce trebuie să îl importați. Funcționează ca un farmec, trebuie doar să aveți grijă să nu suprascrieți nimic de care aveți nevoie, importul va arunca practic baza de date existentă și va folosi în schimb fișierul SQL furnizat.

gestionați rolurile și capabilitățile

WP-CLI poate gestiona rolurile pentru dvs. destul de ușor folosind comanda wp role. Acest lucru este destul de interesant dacă doriți să testați modul în care pluginul dvs. funcționează cu roluri personalizate, dar nu creați de fapt rolurile din pluginul dvs.

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

comenzile de mai sus vor crea un nou rol (Organizator), vor adăuga toate capabilitățile din rolul de editor și apoi vor adăuga o nouă capacitate: gestionare-evenimente.

generați date de testare

îmi plac toate tipurile de funcții asemănătoare falsurilor-cele care adaugă conținut fals pe site – ul dvs. pe care îl puteți utiliza pentru teste. WP-CLI are câteva dintre acestea încorporate, iată câteva funcții care vor genera utilizatori, Termeni și postări.

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

gestionați evenimentele WP-Cron

puteți gestiona evenimentele WP-Cron și sau o lucrare Cron WordPress în WP-CLI. De exemplu, următoarea comandă vă va oferi lista curentă de evenimente cron.

wp cron event list
wp-cron event list

wp-cron event list

Delete Transients

puteți chiar șterge și șterge unul sau toate tranzients folosind următoarea comandă.

wp transient delete --all

dacă rulați multisite, veți avea nevoie de o comandă puțin mai complicată. În mod implicit, comanda VERIFICĂ numai tabelul wp_options. Nu verifică wp_1_options, wp_2_options etc.

lupta cu downtime și probleme WordPress? Kinsta este soluția de găzduire concepută pentru a vă economisi timp! Check out caracteristicile noastre

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

curățați tabelul wp_options

tabelul wp_options poate fi un vinovat comun pentru timpii de interogare lent pe site-ul dvs. din cauza datelor autoloaded care este lăsat în urmă de la plugin-uri și teme terțe părți. Consultați acest articol minunat din wp Bullet despre cum să utilizați WP-CLI pentru a vă curăța tabelul wp_options.

ștergeți reviziile WordPress

pe site-urile mari, revizuirile WordPress se pot adăuga foarte repede la mii de rânduri din baza dvs. de date care nu sunt necesare. Puteți șterge reviziile post cu WP-CLI. Iată un exemplu de comandă:

$ wp post delete $(wp post list --post_type='revision' --format=ids)
WP-cli șterge wordpress revizii

WP-CLI șterge WordPress revizii

modul de întreținere de Control

ca DE WP-CLI v2.2.0, puteți controla acum modul de întreținere pe site-ul WordPress. Exemplu:

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

indexarea datelor cu Elasticsearch

Elasticsearch este un motor de căutare open-source full-text. Este folosit pentru a indexa datele și a căuta aceste date incredibil de repede. Oferim acest lucru ca un add-on pentru clienții Kinsta. Puteți utiliza comenzile ElasticPress WP-CLI pentru a efectua indexarea peste SSH. Exemplu:

wp elasticpress index

lucrul cu site-uri multilingve

WP-CLI v2.0.0 include o nouă familie de comenzi wp i18n pentru cei care lucrează cu site-uri multilingve. De exemplu, puteți crea un fișier POT pentru un plugin sau o temă WordPress.

wp i18n make-pot <source> ] 

a se vedea documentația i18n-comandă.

utilizarea WP-CLI cu WooCommerce

lucrul cu site-uri de comerț electronic? Vă recomandăm să verificați ghidul uimitor de dezvoltare WP-CLI WooCommerce al robotului Ninja pentru comenzi rapide și ușoare pe care le puteți utiliza. Generarea unei liste de clienți, comenzi și chiar crearea de produse în vrac sunt toate posibile cu WP-CLI.

folosind WP-CLI de la distanță

unul dintre cele mai bune lucruri pe care le puteți face cu WP-CLI este să vă gestionați instalările WordPress la distanță. Acesta este cu adevărat visul unui manager de site-uri web.

pentru a rula fără probleme comenzile WP-CLI pe un server la distanță prin SSH, aveți nevoie anterior de comanda addon WP-cli-ssh. Dar, ca de v0.24.0, Aceasta este acum o parte din WP-CLI în sine!

important: aveți nevoie de WP-CLI instalat atât pe computerul de la care executați comanda, cât și pe serverul dvs.

configurarea serverelor la distanță

puteți configura serverele la nivel global sau local. Pentru a le configura la nivel global, Utilizați fișierul config.yml. De asemenea, puteți utiliza fișierele wp-cli.yml sau wp-cli.local.yml din Directorul de lucru curent.

configurația serverelor funcționează așa ceva, lipiți-o într-unul dintre fișierele menționate:

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

după ce ați făcut toate acestea, puteți introduce următoarea comandă pentru a actualiza WordPress pe site-ul dvs. la distanță:

wp ssh core update --host=staging

dacă dețineți sau gestionați o mulțime de site-uri, cred că puteți vedea că acest lucru este uimitor! Scriptul va cere o parolă, dar dacă utilizați tastele RSA pentru a vă conecta, puteți renunța și la asta. Aruncați o privire la acest articol pentru a configura acest lucru.

utilizarea scripturilor Bash

scripturile Bash vă economisesc și mai mult timp prin automatizarea sarcinilor. Amintiți-vă cum a trebuit să tastăm o mulțime de comenzi pentru a instala WordPress? Puteți face acest lucru cu un singur script bash. În interiorul unui director creați un fișier install.sh. Lipiți același cod pe care l-am avut înainte și salvați-l.

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 

tot ce trebuie să faceți acum este să tastați bash install.sh și totul se va face pentru dvs., fără intervenția utilizatorului. Dacă gestionați o mulțime de site-uri, puteți configura toate mediile și puteți crea un script bash ca acesta:

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

când apare o nouă versiune WordPress, acest lucru vă poate economisi mult timp! Deoarece puteți face orice doriți cu WP-CLI, puteți chiar să actualizați teme și pluginuri în mod regulat pe mai multe site-uri client simultan.

rezumat

WP-CLI este într-adevăr visul dezvoltatorului și al managerului de site-uri web. Ca Dezvoltatori putem crea site-uri de testare într-o clipită, adăugați conținut de testare și de a face tot felul de import/export magie. Managerii Site-ului pot gestiona actualizările site-ului și alte sarcini pentru mai multe site-uri cu comenzi unice. Asigurați-vă că verificați notele de lansare WP-CLI v2!

dacă nu ați încercat deja WP-CLI, vă îndemn să încercați. Există, de asemenea, o grămadă de comenzi comunitare, cum ar fi WP-CLI-SSH, care adaugă și mai multe caracteristici excelente! Dacă întâmpinați probleme, asigurați-vă că consultați documentația privind problemele comune WP-CLI.

nu uitați că arhitectura bazată pe Cloud Google Kinsta acceptă WP-CLI din cutie. Dacă doriți să încercați cea mai modernă arhitectură de găzduire WordPress și să aveți acces la instrumente excelente precum WP-CLI, încercați găzduirea WordPress gestionată.

dacă ți-a plăcut acest articol, atunci îți va plăcea platforma de găzduire WordPress Kinsta. Turbocompresează-ți site-ul web și primește asistență 24/7 de la echipa noastră veterană WordPress. Infrastructura Google cloud powered se concentrează pe scalarea automată, performanță și securitate. Să vă arătăm diferența Kinsta! Verificați planurile noastre



+