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 listpo 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 --activateNa 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 --activateAktywacja wtyczki (na przykładzie: hello)
wp plugin activate helloPo poprawnej aktywacji otrzymasz komunikat:
Plugin 'hello' activated.
Success: Activated 1 of 1 plugins.Wyłączenie wtyczki (na przykładzie: hello)
wp plugin deactivate helloPo poprawnym wyłączeniu otrzymasz komunikat:
Plugin 'hello' deactivated.
Success: Deactivated 1 of 1 plugins.Usunięcie wtyczki (na przykładzie: hello)
wp plugin delete helloPo 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=availableAktualizacja 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 siteurlKomenda 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.plKomenda 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 exportZa 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.sqlAnalogicznie 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 listSpowoduje 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
subscriberPrzy pomocy komendy przedstawionej poniżej przy dużej ilości użytkowników możesz dokonać filtrowania na podstawie roli:
wp user list --role=administratorUtworzenie nowego konta użytkownika
wp user create janusz janusz@elastyczny.pl --role=administratorNa 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łoAnalogicznie komendą przytoczoną poniżej tworzymy użytkownika o loginie: grazyna i nadanej roli autora:
wp user create grazyna grazyna@elastyczny.pl --role=authorUsunięcie konta użytkownika z przypisaniem publikacji do innego
wp user delete janusz --reassign=grazynaPo 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 listNastę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=NoweHaslo123Po 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 listNastę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 listNastę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 administratorPo 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
subscriberDział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