WP-CLI jest narzędziem działającym z poziomu linii komend / terminala SSH, gdzie możesz wykonywać polecenia związane z Twoją stroną opartą o CMS WordPress bez potrzeby logowania się z poziomu przeglądarki WWW do zaplecza. Jest to o tyle przydatna opcja, że niekiedy może zachodzić potrzeba wykonania działań masowych. W razie potrzeby możesz również bez logowania się do bazy danych zlecić modyfikację zapomnianego hasła lub adresu e-mail związanego z kontem użytkownika.
Spis treści
Zanim zaczniesz
Aby móc wydawać komendy z użyciem WP-CLI, musisz uprzednio mieć aktywowaną opcję dostępu do SSH na swoim koncie klienta w dPanelu.
TUTAJ znajdziesz przewodnik jak taką aktywację wykonać. Następnie zaloguj się do terminala SSH, przykładowo przy użyciu aplikacji Putty (Windows) lub terminala dostępnego natywnie w systemach MacOS oraz Linux.
Po zalogowaniu się, przejdź do katalogu głównego twojej strony WWW opartej o CMS WordPress. W przedstawionym niżej przykładzie działamy na stronie / domenie wordpress.you2.pl gdzie katalogiem domowym, w którym znajdują się pliki jest public_html:
twojlogin@ssh:~$ <strong>cd wordpress.you2.pl/</strong>
twojlogin@ssh:~/wordpress.you2.pl$ <strong>cd public_htm</strong>l/
twojlogin@ssh:~/wordpress.you2.pl/public_html$
Świetnie, teraz jesteś w katalogu domowym strony WWW opartej o CMS WordPress i możesz zacząć korzystać z poniższych komend WP-CLI.
Działania na wtyczkach
Pobranie listy zainstalowanych wtyczek
wp plugin list
po wydaniu komendy otrzymasz informację zwrotną w postaci tabeli:
+-----------------+----------+-----------+---------+
| name | status | update | version |
+-----------------+----------+-----------+---------+
| akismet | inactive | none | 4.1.7 |
| duplicator | active | available | 1.3.38 |
| hello | inactive | none | 1.7.2 |
| litespeed-cache | active | none | 3.5.2 |
+-----------------+----------+-----------+---------+
Tabela jak widzisz na załączonym wyżej przykładzie przedstawia jakie wtyczki są zainstalowane, w jakich wersjach, które z nich są aktywne oraz czy dostępne są aktualizacje.
Instalacja i aktywacja wtyczki
wp plugin install jetpack --activate
Na przykładzie chęci instalacji wtyczki jetpack, po wydaniu komendy otrzymamy podsumowanie:
Installing Jetpack – WP Security, Backup, Speed, & Growth (9.1)
Pobieranie pakietu instalacyjnego z https://downloads.wordpress.org/plugin/jetpack.9.1.zip...
Rozpakowywanie paczki...
Instalacja wtyczki...
Wtyczka została zainstalowana.
Success: Installed 1 of 1 plugins.
Instalacja i aktywacja wielu wtyczek jedną komendą
wp plugin install really-simple-ssl jetpack ninja-forms --activate
Aktywacja wtyczki (na przykładzie: hello)
wp plugin activate hello
Po poprawnej aktywacji otrzymasz komunikat:
Plugin 'hello' activated.
Success: Activated 1 of 1 plugins.
Wyłączenie wtyczki (na przykładzie: hello)
wp plugin deactivate hello
Po poprawnym wyłączeniu otrzymasz komunikat:
Plugin 'hello' deactivated.
Success: Deactivated 1 of 1 plugins.
Usunięcie wtyczki (na przykładzie: hello)
wp plugin delete hello
Po poprawnym usunięciu otrzymasz komunikat:
Deleted 'hello' plugin.
Success: Deleted 1 of 1 plugins.
Pobranie listy aktywnych wtyczek, które zgłaszają możliwość ich zaktualizowania
wp plugin list --field=name --status=active --update=available
Aktualizacja wybranej wtyczki
wp plugin update "nazwa-wtyczki"
Po wydaniu komendy gdzie w naszym przykładzie zlecono aktualizację wtyczki duplicator komendą: wp plugin update duplicator, otrzymaliśmy podsumowanie:
Włączanie trybu konserwacji...
Pobieranie aktualizacji z https://downloads.wordpress.org/plugin/duplicator.1.3.40.zip...
Rozpakowywanie aktualizacji...
Instalacja najnowszej wersji...
Usuwanie starej wersji wtyczki...
Wtyczka została zaktualizowana.
Wyłączanie trybu konserwacji...
Success: Updated 1 of 1 plugins.
+------------+-------------+-------------+---------+
| name | old_version | new_version | status |
+------------+-------------+-------------+---------+
| duplicator | 1.3.38 | 1.3.40 | Updated |
+------------+-------------+-------------+---------+
Działania na konfiguracji WordPressa
Pobranie jaki adres / domena jest obecnie ustawiona w konfiguracji WordPressa
wp option get siteurl
Komenda ta jest szczególnie przydatna, jeśli przykładowo strona WWW była przenoszona lub zmieniał się jej adres i chcemy się upewnić, że został on podany prawidłowo.
Zmiana adresu / domeny ustawionej w konfiguracji WordPressa
wp option set siteurl https://nowa-domena.pl
Komenda jest używana najczęściej gdy strona WWW ma zostać przeniesiona i działać pod nowym adresem / nową domeną.
Należy pamiętać, że nie zmienia ona konfiguracji na płaszczyźnie serwera i jego konfiguracji, a wyłącznie w CMS WordPress .
Po zleceniu i pomyślnym wykonaniu zmiany, otrzymasz komunikat:
Success: Updated 'siteurl' option.
Eksportowanie bazy danych do pliku .sql
wp db export
Za pomocą tej komendy wygenerowany zostanie plik .sql z kopią obecnej bazy danych związanej z Twoją stroną opartą o CMS WordPress .
Tego typu kopia, która będzie dostępna pod ręką, przydaje się szczególnie jeśli planowane są prace na bazie danych, gdzie zachodzi ryzyko unieruchomienia strony WWW.
Po wydaniu komendy i jej prawidłowym wykonaniu otrzymasz komunikat:
Success: Exported to 'nazwa-pliku.sql'.
Importowanie bazy danych z pliku .sql
wp db import nazwa-pliku.sql
Analogicznie do sytuacji opisanej wyżej w momencie gdyby prowadzone na bazie danych działania nie zakończyły się pomyślnie, a Ty uprzednio wygenerowałeś kopię, możesz przywrócić ją wskazaną komendą. Po zakończeniu importu / przywrócenia, otrzymasz komunikat:
Success: Imported from 'nazwa-pliku.sql'.
Działania na użytkownikach
Pobranie listy użytkowników
wp user list
Spowoduje po wykonaniu komendy przedstawienie listy użytkowników w postaci tabeli, gdzie znajdziesz numer ID użytkownika, login, wyświetlane imię, adres e-mail, datę założenia konta i rolę jaką dany użytkownik pełni:
+----+------------+--------------+--------------+--------------+---------------+
| ID | user_login | display_name | user_email | user_registe | roles |
| | | | | red | |
+----+------------+--------------+--------------+--------------+---------------+
| 1 | admin | admin | admin-wp@you | 2020-11-09 1 | administrator |
| | | | 2.pl | 0:13:45 | |
+----+------------+--------------+--------------+--------------+---------------+
Pobranie listy użytkowników pełniących wskazaną rolę
WordPress domyślnie dzieli użytkowników nadając im role i tak mamy dostępne:
administrator
editor
author
contributor
subscriber
Przy pomocy komendy przedstawionej poniżej przy dużej ilości użytkowników możesz dokonać filtrowania na podstawie roli:
wp user list --role=administrator
Utworzenie nowego konta użytkownika
wp user create janusz janusz@elastyczny.pl --role=administrator
Na przedstawionym przykładzie zlecamy utworzenie konta dla użytkownika o loginie: janusz i nadanej roli administratora.
Po pomyślnym wykonaniu komendy otrzymasz komunikat zawierający wygenerowane losowo dla nowego użytkownika hasło:
Success: Created user 5.
Password: C2p0MS4zCa <- automatycznie wygenerowane hasło
Analogicznie komendą przytoczoną poniżej tworzymy użytkownika o loginie: grazyna i nadanej roli autora:
wp user create grazyna grazyna@elastyczny.pl --role=author
Usunięcie konta użytkownika z przypisaniem publikacji do innego
wp user delete janusz --reassign=grazyna
Po wykonaniu powyższej komendy, użytkownik o loginie: janusz zostanie usunięty, a wszelkie publikacje, które były do tej pory związane z tym użytkownikiem zostaną powiązane z kontem użytkownika o loginie: grazyna.
Zmiana hasła do konta użytkownika
W pierwszym kroku sugerujemy wywołać komendę pobrania listy użytkowników, na podstawie której uzyskasz numer ID tego, któremu planujesz zmodyfikować hasło:
wp user list
Następnie, przy założeniu, że chcemy dokonać zmiany dla użytkownika o ID: 1
wydajemy komendę, która zmodyfikuje hasło na podane przykładowo: NoweHaslo123
wp user update 1 --user_pass=NoweHaslo123
Po poprawnym wykonaniu polecenia, otrzymasz komunikat:
Success: Updated user 1.
Zmiana adresu e-mail powiązanego z kontem użytkownika
W pierwszym kroku podobnie jak przy zmianie hasła, sugerujemy wywołać komendę pobrania listy użytkowników, na podstawie której uzyskasz numer ID tego, któremu planujesz zmodyfikować hasło:
wp user list
Następnie, przy założeniu, że chcemy dokonać zmiany dla użytkownika o ID: 1
wydajemy komendę, która zmodyfikuje adres e-mail na podany przykładowo: janusz@elastyczny.pl
wp user update 1 --user_email=<email>
Po poprawnym wykonaniu polecenia, otrzymasz komunikat:
Success: Updated user 1.
Zmiana roli konta użytkownika
W pierwszym wywołaj komendę pobrania listy użytkowników, na podstawie której uzyskasz numer ID tego, któremu planujesz zmodyfikować hasło:
wp user list
Następnie, przy założeniu, że chcemy dokonać zmiany dla użytkownika o ID: 1
wydajemy komendę, która zmodyfikuje uprawnienia nadając: administratora.
wp user set-role 1 administrator
Po wykonaniu komendy otrzymasz komunikat:
Success: Added janusz (1) to https://wordpress.you2.pl as author.
Poniżej znajdziesz listę dostępnych ról:
administrator
editor
author
contributor
subscriber
Działanie na płaszczyźnie plików źródłowych
Jedną z ważniejszych opcji, które oferuje WP-CLI jest możliwość zlecenia zweryfikowania sum kontrolnych głównych plików CMS WordPress, co w efekcie przy założeniu, że te pliki były edytowane, może wskazać problem w postaci infekcji serwisu WWW.
Oczywiście należy pamiętać, że sprawdzenie sum kontrolnych nie jest odpowiednikiem skanowania pod kątem złośliwych skryptów malware, może okazać się jednak wskazaniem, że dzieje się coś niepokojącego.
wp core verify-checksums