
Pentru cea mai mare parte a vieții sale, WordPress a fost construit folosind o bază simplă de cod, cu o linie de PHP orientată spre obiect, fiind cel mai abstract sistem. În ultimii ani, însă, acest lucru se schimbă în bine. De la testarea unităților până la preprocesarea CSS și instrumentele liniei de comandă, apar tot mai multe active prietenoase pentru dezvoltatori. În acest articol, vom analiza unul dintre preferatele mele: WP-CLI.
Ce este WP-CLI?
WP-CLI este un instrument de linie de comandă pentru dezvoltatori, menit să gestioneze sarcinile 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ăutare și înlocuire în baza de date, resetarea parolelor, poate ajuta la rezolvarea problemelor de performanță dar și multe altele!
WP-CLI a fost un proiect de tip open source timp de peste un deceniu, fiind menținut în principal de Daniel Bachhuber din 2003. Scopul principal al WP-CLI este de a ajuta la accelerarea fluxului de lucru al dezvoltatorilor WordPress.
De-a lungul anilor, proiectul a apărut în mult mai mult! Acum a devenit chiar o cerință pentru alte proiecte open source, cum ar fi Trellis și Bedrock. Începând cu ianuarie 2017, WP-CLI s-a mutat oficial pe WordPress.org și este în prezent menținut în co-întreținere de Alain Schlesser.
WP-CLI v2 a fost lansat pe 8 august 2018, așa că vom explora, de asemenea, unele dintre modificări și funcții noi. Accesul SSH este inclus în toate planurile companiilor serioase de găzduire (Nu se poate conecta prin SSH? Remediați eroarea SSH „Conectare refuzată”).
În acest articol vom aborda următoarele subiecte
- Obținerea WP-CLI
- Bazele WP-CLI
- Comenzi generale în WP-CLI
- Exemple utile
- Utilizarea de la distanță a WP-CLI
- Utilizarea scripturilor Bash
Obținerea WP-CLI
Cerința PHP minimă pentru WP-CLI v2.0.0 a fost ridicată până la PHP 5.4. Deși acesta este un pas înainte, vă recomandăm să rulați cel puțin o versiune acceptată de PHP, adică 5.6 sau mai mare.
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 în mod succesiv:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Odată emise aceste trei comenzi, ar trebui să puteți emite comanda wp –info și să primiți un răspuns semnificativ.
Procesul este același dacă doriți să instalați WP-CLI pe serverul dumneavoastră. Nu uitați, unele companii de hosting oferă WP-CLI deja instalat. Nu sunteți sigur ce versiune rulați în prezent? Puteți folosi întotdeauna comanda wp cli version pentru a afla.
Bazele WP-CLI
A avea acces la WordPress prin linia de comandă este de la sine puternic, dar vă poate oferi și mai mult control și câștiguri în ceea ce privește viteza atunci când utilizați scripturi bash.
Scripturile Bash vă permit să rulați o secvență de comenzi cu o singură comandă. Puteți tasta bash install-and-setup.sh și puteți 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 plugin aveți nevoie
- Instalați și o temă
- Descărcați și adăugați conținut de test
Aceștia ar fi pașii pe care ar trebui să îi faceți pentru a crea un nou mediu de testare pentru un proiect. În mod normal, acest lucru ar dura 5-10 minute cel puțin, mai ales dacă sunt câteva plugin-uri implicate. Emiterea unei singure comenzi este, evident, mult mai rapidă.
Comenzi generale în WP-CLI
Dacă sunteți obișnuiți să lucrați în terminal atunci nu există nimic special despre WP-CLI pentru dumneavoastră. Comenzile încep întotdeauna cu wp, urmate de o comandă și subcomandă, urmate de parametrii necesari și opționali, cum ar fi:
wp command subcommand requiredparam –optionalparam –optionalparam2=value
Să instalăm o temă pentru a vedea cum funcționează acest procedeu cu o comandă wp-cli:
wp theme install twentyseventeen –activate
Aceasta va instala și va activa tema Twenty Seventeen pe instalarea dumneavoastră WordPress.
Rețineți că WP-CLI va funcționa cu instalarea WordPress în care vă aflați în prezent în terminal. Dacă schimbați directoarele pentru a merge la o altă instalare WordPress, aceasta va funcționa cu acea.
Exemple utile
Aceasta a fost WP-CLI pe scurt! Deși puteți face câteva lucruri avansate, la care vom ajunge într-o clipă, deja știți suficient pentru a începe și a face tot ce aveți nevoie. Vă recomand să aruncați o privire la lista de comenzi apoi încercați unele dintre ele. Vom arunca o privire asupra unor lucruri utile aici, apoi vom trece la utilizarea WP-CLI peste SSH și la utilizarea scripturilor bash.
Instalarea WordPress
Folosesc foarte mult WP-CLI pentru a configura medii de testare, primul pas fiind instalarea unei vanilla. Iată o listă de comenzi pe care le execut:
wp core download
wp core config –dbname=mydbname –dbuser=mydbuser –dbpass=mydbpass –dbhost=localhost –dbprefix=whebfubwef_ –extra-php <<PHP
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
PHP
wp db create
wp core install –url=http://siteurl.com –title=SiteTitle –admin_user=username –admin_password=mypassword –admin_email=my@email.com
Rețineți cât de inedit este! Cea mai recentă versiune de WordPress este descărcată folosind prima comandă. A doua comandă stabilește fișierul de configurare cu acces la baza de date și ceva PHP suplimentar la final. Constantele suplimentare ne asigură că avem opțiunile noastre de depanare pentru testare.
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 sfârșit, instalăm WordPress folosind o serie de parametri:
Reinstall WordPress Core
Puteți reinstala și nucleul WordPress folosind WP-CLI. Următoarea comandă ar descărca WordPress core fără teme și pluginuri implicite.
wp core download –skip-content –force
Schimbați adresa URL WordPress
Există multe motive pentru care este posibil să aveți nevoie sau să doriți să vă modificaț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 jurul sau chiar migrați de la HTTP la HTTPS. Oricare ar fi cazul, puteți utiliza cu ușurință 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 pluginuri actuale instalate pe un site, pur și simplu folosiți următoarea comandă. De asemenea comanda va returna starea (activă / dezactivată), dacă există o actualizare disponibilă și versiunea curentă.
wp plugin list
Instalarea mai multor plugin-uri
Pentru a instala mai multe pluginuri, puteți pur și simplu să puneți parametri grămadă. Iată un exemplu care descarcă și activează 3 plugin-uri:
wp plugin install advanced-custom-fields jetpack ninja-forms –activate
Rețineți că numele pluginului provine de la numele pluginurilor din depozitul WordPress. Cel mai simplu mod de a descoperi acest nume este de a vizita pagina lor și de a privi URL-ul sau de a utiliza comanda wp plugin search searchterm, aceasta vă va oferi o listă în terminal.
Chiar mai bine, puteți instala plugin-uri din fișierele remote, nu doar din depozitul WordPress, lucru care este util dacă dezvoltați un plugin sau dacă utilizați un plugin premium. Următoarea comandă instalează două plugin-uri 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 multiple plugin-uri
Pentru a dezactiva un singur plugin utilizați următoarea comandă:
wp plugin deactivate wordpress-seo
Pentru a dezactiva toate plugin-urile utilizați următoarea comandă:
wp plugin deactivate –all
Comanda de mai sus poate fi utilă dacă rezolvați probleme de compatibilitate și trebuie pur și simplu să dezactivați toate pluginurile într-o singură clipă. Puteți apoi să vă întoarceți și să le activați unul câte unul.
Update Plugin-uri
De asemenea, puteți actualiza manual pluginurile WordPress:
wp plugin update wordpress-seo
Căutare și înlocuire în baza de date
Unul dintre motivele principale pentru care este dificil să migrați un site doar prin copierea și lipirea unei baze de date este aceela că baza de date conține tablouri serializate. Dacă trebuie să înlocuiți toate instanțele de pe http://testsite.com cu http://livewebsite.com, tablourile dumneavoastră serializate nu vor avea sens, deoarece numărul de șiruri nu se va potrivi.
Comanda search-replace neserializează matricile mai întâi, apoi efectuează căutarea și înlocuirea, apoi re-serializează matricile. Puteți face acest lucru cu o simplă comandă:
wp search-replace oldstring newstring
Parametrii suplimentari vă permit să faceți multe altele, inclusiv previzualizarea a ceea ce va fi înlocuit folosind –dry-run.
Import și export
Există două modalități 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 brută.
Comanda wp db export reprezintă tot ce trebuie să faceți pentru a crea un fișier SQL și wp db import file.sql este tot ce vă trebuie pentru a-l importa. Funcționează ca prin farmec, trebuie doar să aveți grijă să nu suprascrieți nimic de care aveți nevoie, importul practic va arunca baza de date existentă și va folosi fișierul SQL furnizat în schimb.
Gestionați rolurile și capacitățile
WP-CLI poate gestiona roluri pentru dumneavoastră destul de ușor folosind comanda wp role. Acest lucru este destul de interesant dacă doriți să testați modul în care funcționează pluginul cu roluri personalizate, dar nu creați de fapt rolurile în cadrul pluginului.
wp role create organizer Organizer
wp 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 funcțiile din rolul de editor și apoi vor adăuga o nouă capacitate: manage-events.
Generați date de testare
Îmi plac tot felul de funcții asemănătoare cu faker – cele care adaugă conținut fals în site-ul dumneavoastră pe care le puteți folosi pentru teste. WP-CLI are câteva dintre acestea integrate, iată câteva funcții care vor genera utilizatori, termeni și postări.
wp user generate –count=5 –role=editor
wp user generate –count=10 –role=author
wp term generate –count=12
wp post generate –count=50
Gestionați WP-Cron Events
Puteți gestiona evenimente WP-Cron sau un job WordPress Cron în WP-CLI. De exemplu, următoarea comandă vă va oferi lista de evenimente cron curente.
wp cron event list
Curățați tabelul wp_options
Tabelul wp_options poate fi un vinovat obișnuit pentru perioadele de interogare lente pe site-ul dumneavoastră web, datorită datelor automate încărcate care rămân în urmă din pluginuri și teme de la terți.
Ștergeți Revizuiri WordPress
Pe site-urile mari, reviziile WordPress pot adăuga foarte repede mii de rânduri din baza de date care nu sunt necesare. Puteți șterge revizuirile postate cu WP-CLI. Iată un exemplu de comandă:
$ wp post delete $(wp post list –post_type=’revision’ –format=ids)
Controlați modul de mentenanță
Începând cu WP-CLI v2.2.0, puteți controla modul de mentenanță pe site-ul dumneavoastră WordPress. Spre exemplu:
wp maintenance-mode activate
wp maintenance-mode deactivate
wp maintenance-mode status
Utilizarea de la distanță a WP-CLI
Unul dintre cele mai bune lucruri pe care le puteți face cu WP-CLI este gestionarea instalațiilor dumneavoastră WordPress de la distanță. Acesta este într-adevăr visul unui administrator al site-ului web.
Pentru a rula fără probleme comenzile WP-CLI pe un server la distanță prin SSH, înainte aveați nevoie de comanda wp-cli-ssh addon. Dar de la v0.24.0, aceasta face parte acum 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 dumneavoastră.
Configurați Serverele Remote
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 dumneavoastră de lucru curent.
ssh:
staging:
cmd: ssh %pseudotty% username@server.com %cmd%
url: http://myseite.com
path: /www/path/to/site/root
După ce toate acestea sunt făcute, puteți introduce următoarea comandă pentru a actualiza WordPress pe site-ul dumneavoastră de la distanță:
wp ssh core update –host=staging
Utilizarea Scripturilor Bash
Scripturile Bash vă economisesc și mai mult timp automatizând sarcinile. Vă amintiți cum a trebuit să tastăm o mulțime de comenzi pentru a instala WordPress? Puteți face asta 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 folosit înainte în interiorul fișierului și salvați-l.
wp core download
wp core config –dbname=mydbname –dbuser=mydbuser –dbpass=mydbpass –dbhost=localhost –dbprefix=whebfubwef_ –extra-php <<PHP
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
PHP
wp db create
wp core install –url=http://siteurl.com –title=SiteTitle –admin_user=username –admin_password=mypassword –admin_email=my@email.com
Tot ce trebuie să faceți acum este să introduceți comanda bash install.sh și totul va fi făcut pentru dumneavoastră, fără intervenția utilizatorului. Dacă gestionați o mulțime de site-uri puteți configura toate mediile dumneavoastră și puteți crea un script bash ca acesta:
wp ssh core update –host=clientA
wp ssh core update –host=clientB
wp ssh core update –host=clientC
wp ssh core update –host=clientD
O Găzduire WordPress furnizată de firma de hosting este esențială pentru un site WordPress, dar în același timp este și o dovadă de seriozitate și profesionalism a acesteia.
[…] reinstala și WordPress Core folosind WP-CLI. WP-CLI este un instrument de linie de comandă pentru gestionarea mai multor aspecte ale unei […]