WP-CLI to potężne narzędzie, ułatwiające pracę z Twoją stroną na WordPress. Dzięki niemu przeskoczysz na inny poziom rozwijania stron. Dlatego przedstawiam Ci rozwiązanie, które staje się coraz bardziej popularne w środowisku webmasterów. Od niedawna wp-cli, o którym mowa, domyślnie wspieramy w ramach hostingu WordPress w cyber_Folks. Jest instalowane przy uruchomieniu serwera i od razu czeka gotowe na Twoje polecenia. Tylko jak i do czego go używać? Zapraszam do wpisu!

Ten wpis o wp-cli przygotowałem z myślą o:

  • deweloperach, którzy zarządzają wieloma instalacjami WordPress i chcą poprawić efektywność swojej pracy,
  • programistach, którzy mają dość nieustannego wykonywania prostych operacji w kokpicie i chcieliby to jakoś przyspieszyć,
  • zaawansowanych technicznie właścicielach stron www, którzy niekoniecznie sami kodują, ale chcieliby wygodnie wykonywać czynności konserwacyjne – wygodniej, niż logując się do kokpitu.

Artykuł zawiera dwie istotne części:

  • teoretyczną – omówienie istoty działania wp-cli,
  • praktyczną – wybrane operacje wpi-cli w praktyce.

Wp-cli – co to jest?

Przede wszystkim jest… wspaniałym narzędziem usprawniającym pracę. Wyobraź sobie, że zarządzasz wieloma WordPressami swoich klientów. Aktualizacje oprogramowania na każdej z takich instalacji bywają raczej dość czasochłonne, prawda?

W końcu trzeba zalogować się do kokpitu każdej strony z osobna, a następnie wykonać szereg kolejnych kroków. Oczywiście istnieją wtyczki pozwalające zautomatyzować w jakimś stopniu te zadania, ale wp-cli przy odrobinie wprawy nie ma sobie równych, a co równie ważne – nie wymaga przy tym instalacji dodatkowych wtyczek na stronach. To tylko jeden z jego plusów.

Wp-cli to zestaw komend, które możesz wykonywać z linii poleceń (czyli tzw. ssh). Z poziomu wiersza poleceń ssh na serwerze jesteś w stanie wykonywać wiele operacji: od instalacji samego WordPressa, przez zarządzanie motywami i naprawy błędów miniaturek mediów, aż po optymalizację bazy danych. Pełny zakres możliwości tego potężnego narzędzia poznasz tutaj, a tymczasem w tym wpisie poruszę wybrane, które mogą być dla Ciebie najczęściej przydatne.

Wielu deweloperów wp-cli używa nie tyle do instalacji silnika, co raczej do zarządzania już istniejącymi projektami i w większości na tych operacjach się skupimy. Poza tym instalację WordPressa wykonasz za pomocą naszego prostego w obsłudze Instalatora aplikacji w ciągu jednej minuty.

Na początku, zanim wykonasz pierwszą komendę, zaloguj się poprzez SSH na Twój serwer. Możesz w tym celu użyć, przykładowo, popularnego klienta Putty. W innym miejscu zajdziesz przygotowaną instrukcję łączenia po ssh. Po zalogowaniu, korzystając z linii komend, możesz wykonywać opisane poniżej polecenia.

Jak wp-cli usprawnia pracę z WordPress?

Z najciekawszych możliwości, usprawniających pracę z WP-CLI, warto wymienić:

  • zarządzanie użytkownikami (dodawanie, usuwanie, modyfikacja),
  • zarządzanie wtyczkami i motywami (instalacja, usuwanie),
  • sprawdzanie posiadanej wersji WordPressa,
  • regenerowanie miniaturek obrazków,
  • import/eksport bazy danych,
  • zamiana wybranych wartości w bazie danych (np. masowa edycja odnośników metodą search & replace).

Wszystkie powyższe zagadnienia omówię w tym wpisie w części praktycznej poniżej.

Wskazówka ułatwiająca pracę z wp-cli

Aby za każdym razem nie podawać lokalizacji strony do wykonania operacji, możesz od razu przejść do konkretnego miejsca na serwerze, na przykład: cd /domains/nazwaDomeny/public_html, gdzie nazwaDomeny będzie Twoją domeną (bez www i https).

Zarządzanie użytkownikami z użyciem wp-cli

Tworzenie nowego użytkownika

Aby stworzyć nowego użytkownika, wystarczy wpisać komendę:

wp user create nazwa_użytkownika adres_email –role=rola_użytkownika

Dostępne role: Administrator, Editor [redaktor], Author [autor], Contributor [współpracownik], Subscriber [subskrybent, czyli zwykły użytkownik]. Role należy wpisywać w języku angielskim – w nawiasach dla ułatwienia przedstawiłem Ci ich polskie nazewnictwo.

Aktualizacja danych użytkownika

Aby zmienić poszczególne dane użytkownika, wystarczy, że wpiszesz w konsolę:

wp user update email_uzytkownika –nazwa_opcji=nowa_wartosc

przy czym dostępne możliwości opcji to:

  • --user_login (należy wpisać: –user_login=nowy_login),
  • --user_pass (należy wpisać: –user_pass=nowe_hasło),
  • --user_email (należy wpisać: –user_email=nowy_adres_email),,
  • --display_name (należy wpisać: –display_name=nowa_nazwa_wyświetlana),
  • --first_name (należy wpisać: –first_name=nowe_imię),
  • --last_name (należy wpisać: –last_name=nowe_nazwisko).
    Przykład: wp user update wsparcie@cyberfolks.pl –first_name=Wsparcie

Usuwanie użytkownika

Możesz również usunąć użytkownika, a zrobisz to za pomocą komendy:

wp user delete id_uzytkownika

Jeśli chciałbyś, możesz również przenieść jego wpisy na kogoś innego. Wówczas polecenie będzie nieco dłuższe:

wp user delete id_uzytkownika –reassign=id_nowego_uzytkownika

ID użytkownika poznasz wpisując komendę: wp user list. W przypadku dużej ilości użytkowników, a kiedy znasz e-mail lub nazwę użytkownika, warto dodatkowo skorzystać z dostępnego w Linuksie narzędzia grep, czyli: wp user list | grep wartość, gdzie wartością może być dla przykładu e-mail lub nazwa użytkownika, a nawet tylko ich fragment. Wówczas uzyskasz przefiltrowany wynik, który pokaże wyłącznie interesującego Cię użytkownika (lub kilku, jeśli tak będzie wynikać z szukanej przez Ciebie wartości, ale na pewno będzie to dużo krótsza lista, zatem wygodniejsza do przeglądania).

Wykorzystanie wp-cli do zarządzania wtyczkami

Instalacja nowej wtyczki

Kiedy potrzebujesz zainstalować nową wtyczkę, przede wszystkim musisz najpierw poznać jej nazwę, której używa WordPress (nazwa paczki). Przykładowo: dla LiteSpeed Cache będzie to litespeed-cache. Jak to sprawdzić? Wystarczy, że użyjesz polecenia: wp plugin search fraza, gdzie fraza to jakieś słowo kluczowe, np. litespeed. Otrzymasz w tabelce name i slug – Ciebie interesuje ta druga kolumna. To ona zawiera konkretną nazwę paczki z repozytorium WordPressa, którą należy wskazać do instalacji. Naturalnym zjawiskiem będzie, jeśli nie znajdziesz tu wtyczek, których nie ma w repozytorium (np. płatna wtyczka) i nie jest to błąd.

Na przykładzie wspomnianej LiteSpeed Cache, instalacja wtyczki przebiegnie następująco:

wp plugin install litespeed-cache

Możemy też od razu aktywować wtyczkę po instalacji poleceniem:

wp plugin install litespeed-cache –activate

Aktywacja i dezaktywacja wtyczki

Wtyczkę aktywujesz poleceniem:

wp plugin activate nazwa-paczki

Dezaktywujesz natomiast poleceniem:

wp-plugin deactivate nazwa-paczki

Kwestia nazewnictwa paczek wygląda identycznie, jak zostało to opisane wyżej.

Aktualizacja wtyczki

Aby zaktualizować wtyczkę, wystarczy wpisać w wiersz poleceń:

wp plugin update nazwa-paczki

Jak widać – wszystko odbywa się lekko, szybko i przyjemnie.

Usuwanie wtyczki

Zapewne już się domyślasz, że usunięcie wtyczki wykonasz poleceniem

wp plugin update nazwa-paczki

Bardzo intuicyjne, prawda 😊?

Ważne! Nie można usunąć aktywnej wtyczki. Wówczas do polecenia powyżej należy dodać –deactivate, czyli

wp plugin uninstall nazwa-paczki –deactivate

lub wcześniej dokonać dezaktywacji poleceniem

wp plugin deactivate nazwa-paczki 

i dopiero wtedy usunąć wtyczkę.

Zarządzanie motywami w oparciu o wp-cli

Instalacja nowego motywu

Proces zarządzania motywami wygląda bardzo podobnie, jak w przypadku wtyczek.

Instalacja motywu jest dostępna pod komendą:

wp theme install nazwa-paczki

Kwestia nazw paczek wygląda tak samo, jak w przypadku wtyczek. Jeśli nie znamy nazwy właściwej paczki, wystarczy, że wpiszesz polecenie

wp theme search fraza

i w kilka chwil poznasz wartość, której potrzebujesz.

Podobnie jak w przypadku wtyczek, możesz również od razu aktywować motyw. Wystarczy do powyższego polecenia dodać –activate po nazwie paczki do instalacji.

Aktywacja lub deinstalacja motywu

Możesz też chcieć włączyć dany motyw poza operacją instalacji. W tej sytuacji użyj komendy:

wp theme activate nazwa-paczki

Operacja odwrotna nie jest możliwa z wiadomych przyczyn – nie wyłączymy motywu, który jest aktywny. Możliwe jest natomiast aktywowanie innego, a następnie odinstalowanie starego za pomocą powyższych komend.

Aktualizacja motywu

Operacji aktualizacji motywu dokonasz wpisując polecenie: wp theme update nazwa-paczki.

Jak sprawdzić zainstalowaną wersję WordPressa?

Zamiast logować się do kokpitu lub szukać tego opcją „Zbadaj element” w swojej przeglądarce, możesz wpisać po prostu komendę:

wp core version

aby sprawdzić, jaką posiadasz aktualnie wersję silnika WordPress. Całe 2 sekundy… i gotowe!

Inne często przydatne operacje z użyciem wp-cli

Regenerowanie (naprawa) miniaturek obrazków WordPress

Ta operacja również prędzej czy później może być dla Ciebie potrzebna, kiedy Twoje miniaturki przestaną się wyświetlać, a teraz wcale nie potrzebujesz do tego dodatkowej wtyczki. Z pomocą znowu przychodzi do Ciebie wp-cli. Wspominałem już, że to wspaniałe narzędzie 😉?

A więc do dzieła. Co należy zrobić? Wpisać tylko:

wp media regenerate

lub (wp media regenerate –yes dla automatycznego potwierdzania operacji bez dodatkowej ingerencji) i zaczekać kilka chwil, aż wp-cli zrealizuje operację. W zależności od ilości obrazków w bibliotece mediów może to trochę potrwać, a Ty w czasie zaoszczędzonym na szukaniu odpowiedniej wtyczki możesz wypić swoją ulubioną kawę.

Import oraz eksport bazy danych

Wprowadzasz zmiany i chcesz zrobić kopię zapasową bazy danych lub po prostu zamieniasz wersję bazy na taką z innego pliku? W obu przypadkach z pomocą przyjdzie Ci opcja importu i eksportu.

Import bazy wykonasz poleceniem:

wp db import /sciezka/do/pliku/plik.sql

Eksport bazy wykonasz z kolei poleceniem:

wp db export /sciezka/do/wrzucenia/pliku/nazwa_pliku.sql

Masowa zmiana wartości w bazie danych

To już ostatnie zagadnienie, jakie pokażę Ci w tym wpisie. Często może się przydać, jeśli potrzebujesz zmienić URL swojej witryny w bazie danych lub po prostu zamienić jakąś frazę na inną w każdym miejscu. Już nie potrzebujesz do tego ani skomplikowanej kwerendy w phpMyAdmin, ani wtyczki do takich operacji.

Co zatem trzeba zrobić? Użyć polecenia wp search-replace, a konkretniej:

  • wp search-replace ‘stara fraza’ ‘nowa fraza’ – wykona zamianę we wszystkich tabelach bazy danych,
  • wp search-replace –dry-run ‘stara fraza’ ‘nowa fraza’ – jeśli chcesz najpierw sprawdzić, co zostanie zmienione (zmiana zostanie jedynie zasymulowana),
  • wp search-replace ‘stara fraza’ ‘nowa fraza’ nazwa_tabeli – jeśli interesuje Cię zmiana w konkretnej tabeli. Zwykle będzie to wp_options (lub prefiks inny niż wp_, jeśli dla bezpieczeństwa zmieniłeś domyślny na własny. Dlaczego warto i jak to zrobić – o tym piszemy w tym artykule).

Sprawdź nasz film dotyczący WP-CLI

Podsumowanie

W tym wpisie opisałem dla Ciebie jedne z najbardziej przydatnych – oczywiście moim zdaniem – operacji możliwych do wykonania za pomocą wp-cli. Ich lista jest jednak bardzo szeroka. Wiele poleceń (jak chociażby wp theme) ma wiele dodatkowych opcji, które poznasz wpisując w wiersz poleceń po prostu wp theme. Wyświetli Ci się lista możliwości wraz z opisem przeznaczenia. Pamiętaj również, że pełną bazę możliwości wp-cli poznasz na oficjalnej stronie WordPressa. Koniecznie zajrzyj na stronę: https://developer.wordpress.org/cli/commands/

Zapraszam Cię do wracania do tego wpisu, kiedy tylko będziesz potrzebować małej ściągawki. Jeśli informacje w tym wpisie uważasz za interesujące lub przydatne, to będzie mi bardzo miło, kiedy zostawisz komentarz.

wp-cli-co-to-jest-i-jak-usprawnia-prace-z-wordpress
>
Mateusz Wiatrzyk
Od kilku lat zajmuje się WordPressem i zagadnieniami hostingowymi. Na co dzień udziela wsparcia technicznego naszym klientom. Po godzinach strażak ochotnik i propagator pierwszej pomocy.

5 odpowiedzi do "Wp-cli – co to jest i jak usprawnia pracę z WordPress?"

  1. Hej Mateusz! Dzięki za świetny i merytoryczny artykuł! Wydaje mi się, że to jest idealny poradnik jak zacząć z WP-CLI. Podstawowe komendy WP-CLI są bardzo proste do opanowania i zapamiętania.

    Może jakby ktoś był zainteresowany, to przedstawiłbym komendy WP-CLI do pracy z WooCoommerce, Yoast SEO oraz z innymi pluginami ?

  2. Krystian pisze:

    Niesamowicie przydatne narzędzie, bardzo dziękuję za obszerny opis, który nie tylko pokazał mi dodatkowe opcje które dzięki niemu mogę wdrożyć w życie ale również poszerzenie zakresu wiedzy z tych już mi wcześniej znanych. Dziękuję Panie Łukaszu za wszelkie wpisy, które umieszcza Pan na blogu, z zaciekawieniem i niecierpliwością oczekuję na następny równie rzeczowy artykuł.

  3. Krzysztof pisze:

    Bardzo wartościowy i merytoryczny wpis, dzięki !

  4. Arek pisze:

    Witam.
    Narzędzie dosyć przydatne, ale trzeba sobie zdać sprawę z jego ograniczeń. Ciężko zarządzać tym narzędziem wiele WordPress`ów na wielu serwerach. Za każdym razem trzeba się łączyć z odpowiednim hostingiem,a nawet w obrębie jednego praca nie jest za płynna. Bolączką rozwiązań konsolowych jest konieczność dostawania się do każdej instalacji WP poprzez ścieżkę np cd moja-domena, cd public_html i dopiero później korzystanie z dobrodziejstw WP-CLI. Nie ma tu zarządzania globalnego. Niemniej jednak warto poznać to narzędzie.
    Pozdrawiam
    Arek

  5. Natalia pisze:

    Ciągle poznaję WP-CLI, ale widzę, że kilka poleceń jak cd jest uniwersalnych dla wielu shelli. Brak mi we wpisie kwestii logowania. Nie każdy chce/może skorzystać z putty.
    Będę testować, natomiast zastanawiam się właśnie jak można pracować z WP-CLI na kilku witrynach (mam kilka WordPressów). Niemniej materiał bardzo przytatny.

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Szukasz dalej?