Utilizarea wp-cli pentru distracție și profit

Vedeți cum puteți efectua mai rapid sarcinile WordPress obișnuite sau chiar le puteți automatiza folosind puterea bash.


Ce este wp-cli?

wp-cli este un instrument pentru controlul WordPress printr-o fereastră a consolei.

Când interfața de administrare WordPress este atât de frumoasă și ușor de folosit, întrebarea naturală este: de ce ați folosi vreodată o interfață de linie de comandă?

Există două motive principale:

  • Tastatura este mai rapidă decât mouse-ul - Pentru utilizatorii de putere, tastând o comandă poate fi ordine de mărime mai rapidă decât apăsarea unui buton într-un browser web.
  • Scripting - Puteți pune mai multe comenzi într-un fișier text și îl puteți executa automat.

În acest tutorial am să vă dau un gust pentru ceea ce wp-cli este bun pentru.


Instalarea wp-cli

Înainte de utilizare, veți avea nevoie de câteva lucruri:

  1. UNIX-shell shell - Dacă sunteți pe un Mac sau pe Linux, puteți rula wp-cli pe mașina dvs. locală. Dacă sunteți pe Windows, vă puteți conecta la serverul dvs. Linux prin intermediul Putty și instalați wp-cli acolo.

  2. PHP 5.3+ și utilitarul php-cli - Puteți vedea dacă aveți aceste operații executând următoarea comandă:

    php -v
  3. git - Aceasta este ceea ce vom folosi pentru a instala și actualiza wp-cli.

Proiectul wp-cli este încă în fază incipientă, astfel încât cel mai bun mod de a rămâne pe versiunile recente este clonarea de la github:

 git clone -recurse-submodule git: //github.com/andreascreten/wp-cli.git ~ / git / wp-cli cd ~ / git / wp-cli sudo utils / build-dev

~ / Git / wp-cli este directorul în care wp-cli va fi instalat. Simțiți-vă liber să-l schimbați la ceea ce doriți.

Asta e. Acum wp ar trebui să fie disponibile:

 cd / var / www / public_html / wordpress wp

Pe multisite

Dacă doriți să utilizați wp-cli pe o instalare multisite, va trebui să decideți ce blog doriți să lucrați:

 wp --blog = myblog.mynetwork.com

Pentru a evita să treci --blogul parametru pentru fiecare comandă, îl puteți stoca într-un fișier special numit:

 echo 'myblog.mynetwork.com'> wp-cli-blog

wp-cli va citi acel fișier dacă nu există --blogul parametru.


Manipularea Core

În primul rând, să vedem ce versiune de WordPress avem de-a face:

 wp version core --extra

Pentru a efectua o actualizare, trebuie doar să scrieți:

 wp core update

Manipularea pluginurilor

Să vedem ce pluginuri am instalat:

 wp plugin status

Pare că există o actualizare disponibilă pentru Akismet. Să o instalăm:

 wp plugin update acismet

Acum, să instalați și să activați un plugin de la wordpress.org:

 wp plugin instalează google-sitemap-generator - activa

De asemenea, puteți instala versiunea de dezvoltare a unui plugin:

 wp plugin instalează google-sitemap-generator - activa --dev

Oh, și uite, există o comandă nouă disponibilă acum:

 wp google-sitemap

Putem schimba rapid un plugin de la activ la inactiv și invers:

 Plugin wp comută pe google-sitemap-generator

Aceasta este o modalitate buna de depanare a cârligelor de activare.

În mod similar, puteți executa procedura de dezinstalare a unui plugin fără a șterge fișierele pluginului:

 wp plugin dezinstalați google-sitemap-generator

Și, bineînțeles, puteți șterge și plugin-ul:

 wp plugin șterge google-sitemap-generator

Manipularea temelor

Avem câteva comenzi pentru a lucra și cu teme:

 wp status theme

Spre deosebire de pluginuri, puteți avea o singură temă care rulează simultan, astfel încât activarea unei teme va "dezactiva" automat cea precedentă:

 wp theme activa twentyten

Iată un mic truc pentru a intra în directorul unei anumite teme:

 cd $ (calea temelor wp twentyeleven)

Generarea de date

Dacă scrieți o temă și doriți să modelați paginarea, veți avea nevoie de o mulțime de postări. Iată cel mai rapid mod de a le obține:

 wp generează postări --count = 1000

Dacă doriți să editați o listă de utilizatori, puteți genera și o parte din ele:

 wp generează utilizatori --role = autor

De asemenea, puteți crea utilizatori individuali:

 Utilizatorul wp crea stan [email protected]

Crearea fișierelor de export

S-ar putea să doriți să exportați periodic conținutul dvs. într-un fișier WXR.

 wp export --path =. / --user = admin

Puteți trece parametri suplimentari pentru a limita conținutul exportat, cum ar fi --categorie, --data de început etc.


Modificarea opțiunilor pe Fly

Există comenzi simple pentru CRUD operațiuni privind opțiunile:

 wp opțiune obține permalink_structure wp opțiune adăuga foo bar wp opțiune șterge foo

Nu doriți să faceți acest lucru în mod regulat, deoarece majoritatea opțiunilor sunt constrânse la anumite valori. Dar poate fi util în scripturi.


Operațiuni baze de date

Dacă doriți să faceți o copie de rezervă a bazei de date, scrieți:

 wp db dump

Sau poate că trebuie să faceți o scurtă interogare pentru a găsi când a fost publicat ultimul post:

 wp db query "SELECT MAX (post_date) din wp_posts WHERE post_type = 'post' ȘI post_status = 'publica'"

Deschiderea unei sesiuni interactive MySQL pentru a face unele diagnostice este la fel de ușoară:

 wp db cli

Rularea codului arbitrar

Uneori, singura modalitate de a spune wp-cli ceea ce vrei este descrierea lui în cod PHP:

 wp eval-fișierul do-my-laundry.php

Cu comanda de mai sus, wp-cli va încărca mai întâi WordPress și apoi va încărca și executa fișierul dvs. PHP.

Acest lucru este util pentru implementarea de scripturi sau pentru alte acțiuni complexe care nu pot fi realizate utilizând comenzile încorporate.

Puteți trece, de asemenea, cod PHP inline:

 wp eval 'echo WP_CONTENT_DIR;

Crearea propriilor comenzi

Credeți sau nu, wp-cli este scris mai ales în PHP. Fiecare comandă este o clasă, fiecare metodă reprezentând un subcomandaj.

Lucrul perfect este că puteți să vă faceți propria clasă, să o puneți într-un plugin și wp-cli să o recunoască automat ca pe una proprie. Un tutorial detaliat pentru crearea comenzilor este disponibil în wiki-ul proiectului.


Concluzie

Sper că te-am convins să faci cel puțin o încercare la WP-cli. Dacă ați găsit un bug sau dacă aveți o solicitare de caracteristică, luați în considerare deschiderea unei probleme.

Au un caz de utilizare interesant pentru wp-cli? Vă rugăm să le distribuiți în comentariile de mai jos.

Cod