Kurs WP-CLI - polecenia i przykłady.
WP-CLI to interfejs wiersza poleceń dla platformy WordPress. Dzięki niemu możesz aktualizować system, instalować wtyczki, konfigurować Wordpress czy zarządzać kontami użytkowników. Wszystko to bez korzystania z przeglądarki internetowej. Dzięki naszemu kursowi WP-CLI będziesz mógł łatwo wykonywać zadania administracji Wordpress.
Narzędzie wp-cli nie jest wtyczką. To oprogramowanie dostępne dla wszystkich klientów posiadających dostęp do SSH w swoich sługach hostingu HitMe.pl jak: Hosting WWW NVMe, Hosting Elastyczny, Hosting Wordpress, Hosting Prestashop.
Aby skorzystać z wp-cli
potrzebujemy dostępu do konsoli SSH, dlatego jeśli jeszcze tego nie robiłeś sprawdź jak zalogować się do serwera przez SSH.
Komendy wp-cli
Będąc zalogowanym do naszego konta na serwerze, najlepiej jak wejdziemy do katalogu z naszym Wordpress np. /domains/mojadomena.pl/public_html/
w innym przypadku do każdej komendy musimy dodawać ścieżkę do katalogu Wordpress, jakim chcemy zarządzać.
Przykład podania ścieżki do katalogu Wordpress:
wp {komenda} --path=/domains/mojadomena.pl/public_html/
Jeśli nie znasz poleceń systemowych jak poruszać się po katalogach na serwerze Linux - sprawdź najpierw nasz poradnik Podstawowe komendy Linux - Poruszanie się po katalogach.
Zarządzanie wtyczkami Wordpress
Do wyświetlenia listy wtyczek służy polecenie wp plugin list
.
[adam-hitme@el3 ~]$ cd domains/mojewp.hmcloud.pl/public_html/
[adam-hitme@el3 public_html]$ wp plugin list
+-------------------------------+----------+--------+---------+
| name | status | update | version |
+-------------------------------+----------+--------+---------+
| akismet | inactive | none | 4.2.4 |
| autoptimize | active | none | 3.0.4 |
| easy-wp-smtp | inactive | none | 1.4.7 |
| hello | inactive | none | 1.7.2 |
| limit-login-attempts-reloaded | active | none | 2.25.3 |
| litespeed-cache | active | none | 4.6 |
| wordpress-importer | active | none | 0.7 |
| wordpress-seo | active | none | 19.1 |
| automation-by-installatron | must-use | none | |
+-------------------------------+----------+--------+---------+
Włączenie wtyczki
Aby wyłączyć daną wtyczkę potrzebujemy jej nazwę z listy oraz komendę wp plugin activate
.
Przykład:
[adam-hitme@el3 public_html]$ wp plugin activate easy-wp-smtp
Plugin 'easy-wp-smtp' activated.
Success: Activated 1 of 1 plugins.
Teraz możemy sprawdzić czy nasza wtyczka faktycznie została aktywowana.
[adam-hitme@el3 public_html]$ wp plugin list | grep easy-wp-smtp
easy-wp-smtp active none 1.4.7
Wyłączenie wtyczki
Analogicznie, aby wyłączyć daną wtyczkę potrzebujemy jej nazwę z listy oraz komendę wp plugin deactivate
.
[adam-hitme@el3 public_html]$ wp plugin deactivate easy-wp-smtp
Plugin 'easy-wp-smtp' deactivated.
Success: Deactivated 1 of 1 plugins.
Instalacja wtyczki
Aby zainstalować wtyczkę i od razu ją włączyć wydajemy polecenie wp plugin install
a jako kolejny parametr podajemy <plugin|zip|url>
czyli nazwę, lokalny plik ZIP lub pełny adres URL do pliku.
[adam-hitme@el3 public_html]$ wp plugin install wordpress-seo
Installing Yoast SEO (19.1)
Pobieranie pakietu instalacyjnego z https://downloads.wordpress.org/plugin/wordpress-seo.19.1.zip...
Rozpakowywanie paczki...
Instalacja wtyczki...
Wtyczka została zainstalowana.
Success: Installed 1 of 1 plugins.
Skąd wziąć nazwy wtyczek? Najszybciej z adresu URL w repozytorium. Np. wtyczka Yoast SEO ma swój adres w repozytorium https://pl.wordpress.org/plugins/wordpress-seo/ i wordpress-seo
jest właśnie jej nazwą.
Jako kolejny parametr możemy podać konkretną wersję wtyczki --version=18.9
i od razu zlecić jej aktywację --activate
.
[adam-hitme@el3 public_html]$ wp plugin install wordpress-seo --version=18.9 --activate
Installing Yoast SEO (18.9)
Pobieranie pakietu instalacyjnego z https://downloads.wordpress.org/plugin/wordpress-seo.18.9.zip...
Using cached file '/home/adam/.wp-cli/cache/plugin/wordpress-seo-18.9.zip'...
Rozpakowywanie paczki...
Instalacja wtyczki...
Wtyczka została zainstalowana.
Activating 'wordpress-seo'...
Plugin 'wordpress-seo' activated.
Success: Installed 1 of 1 plugins.
Usuwanie wtyczki
Aby usunąć wyłączoną wcześniej wtyczkę używamy polecenia wp plugin delete
.
[adam-hitme@el3 public_html]$ wp plugin delete wordpress-seo
Deleted 'wordpress-seo' plugin.
Success: Deleted 1 of 1 plugins.
Tak, wtyczkę musi być wyłączona aby dała się usunąć. Jednak, już przy samym wyłączaniu wtyczki możemy zlecić jej usunięcie dodając polecenie --uninstall
[adam-hitme@el3 public_html]$ wp plugin deactivate wordpress-seo --uninstall
Plugin 'wordpress-seo' deactivated.
Uninstalling 'wordpress-seo'...
Uninstalled and deleted 'wordpress-seo' plugin.
Success: Deactivated 1 of 1 plugins.
Sprawdzenie wersji Wordpress
Aby sprawdzić, którą wersją Wordpress dysponujemy wydajemy polecenie wp core version
.
[adam-hitme@el3 public_html]$ wp core version
6.0
Włączanie trybu konserwacji
Aby aktywować tryb konserwacji na naszym Wordpress używamy komendy wp maintenance-mode activate
.
[adam-hitme@el3 public_html]$ wp maintenance-mode activate
Włączanie trybu konserwacji...
Success: Activated Maintenance mode.
Wyłączenie trybu konserwacji.
[adam-hitme@el3 public_html]$ wp maintenance-mode deactivate
Wyłączanie trybu konserwacji...
Success: Deactivated Maintenance mode.
Baza danych Wordpress
Dzięki wp-cli możemy łatwo wykonywać operacje dotyczące bazy danych Wordpress.
Przydatnym poleceniem jest sprawdzenie rozmiaru tabel naszej bazy danych poleceniem wp db size --tables
.
[adam-hitme@el3 public_html]$ wp db size --tables
+-----------------------+-----------+
| Name | Size |
+-----------------------+-----------+
| wp_commentmeta | 49152 B |
| wp_comments | 98304 B |
| wp_links | 32768 B |
| wp_options | 311296 B |
| wp_postmeta | 245760 B |
| wp_posts | 1654784 B |
| wp_term_relationships | 65536 B |
| wp_term_taxonomy | 49152 B |
| wp_termmeta | 49152 B |
| wp_terms | 49152 B |
| wp_usermeta | 49152 B |
| wp_users | 65536 B |
+-----------------------+-----------+
Jeśli któraś tabela wydaje się zbyt duża możemy zastosować optymalizacje poleceniem wp db optimize
lub naprawę poprzez wp db repair
, jeśli tylko schemat bazy danych wspiera takie metody.
Query - kwerendy SQL z wp-cli.
Bezpośrenio z wp-cli możemy również testować nasze kwerendy SQL co bardzo ułatwia proces kodowania. Używamy do tego polecenia np.: wp db query "SELECT * FROM wp_options"
Kopia bazy danych do pliku (eksport)
Aby wygodnie wykonać kopię bazy danych do pliku na serwerze używamy polecenia wp db export
.
W aktualnym katalogu zostanie utworzony plik ze zrzutem całej bazy danych, której używa Wordpress.
[adam-hitme@el3 public_html]$ wp db export
Success: Exported to 'adam_wpxs2-2022-06-21-123a0ae.sql'.
Łatwa kopia bazy. W ten sposób łatwo wykonamy kopię bazy danych bez potrzeby użycia wtyczki. Przydatne podczas prac administracyjnych.
Import bazy danych z pliku
Mając na serwerze zrzut bazy danych,możemy przywrócić bazę danych z pliku SQL poleceniem wp db import plik.sql
.
[adam-hitme@el3 public_html]$ wp db import adam_wpxs2-2022-06-21-123a0ae.sql
Success: Imported from 'adam_wpxs2-2022-06-21-123a0ae.sql'.