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?
- Noțiuni de bază WP-CLI
- elementele de bază ale WP-CLI
- comenzi WP-CLI în General
- exemple utile
- instalarea WordPress
- reinstalați WordPress Core
- schimbați adresa URL WordPress
- Lista de plugin-uri curente cu detalii
- instalarea mai multor plugin-uri
- dezactivați mai multe pluginuri
- actualizați pluginurile
- căutare de baze de date și înlocuiți
- Inscrie-te la Newsletter
- am crescut traficul nostru 1,187% cu WordPress. Vă vom arăta cum.
- Import și Export
- gestionați rolurile și capabilitățile
- generați date de testare
- gestionați evenimentele WP-Cron
- Delete Transients
- curățați tabelul wp_options
- ștergeți reviziile WordPress
- modul de întreținere de Control
- indexarea datelor cu Elasticsearch
- lucrul cu site-uri multilingve
- utilizarea WP-CLI cu WooCommerce
- folosind WP-CLI de la distanță
- configurarea serverelor la distanță
- utilizarea scripturilor Bash
- rezumat
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!
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
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
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
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
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
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.
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
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