wp cli cheat sheet, czyli ściągawka z linii komend WordPress

Wp-cli to wspaniałe narzędzie pozwalające na szybką realizację masy zadań czekających na użytkownika, developera czy administratora WordPress.
Jego znajomość pomoże Ci zaoszczędzić sporo czasu, a często wyeliminuje konieczność instalacji zupełnie niepotrzebnych wtyczek.
Ten wpis to krótka ściąga z przydatnymi poleceniami wp-cli (i nie tylko).

Pełną dokumentację dla wszystkich komend WP CLI znajdziesz na stronie https://developer.wordpress.org/cli/commands/.

Tworzenie nowej strony….

Instalacja WP-CLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
wp --info

Tworzenie usera i bazy danych SQL

create database DBNAME;
grant all on DBNAME.* to 'DBUSER'@'localhost' identified by 'DBPASS';
flush privileges;

Instalacja WordPress w 5 minut

Zobacz również: Instalacja WordPress za pomocą skryptu wp-cli.

wp core download
wp core config --dbname=$DBNAME --dbuser=$DBUSER --dbpass=$DBPASS
wp core install --url=DOMENA --title='Awesome Site' --admin_user=USER \
--admin_password=hasło --admin_email=email@gmail.com

Ustawienie języka na polski

wp language core install pl_PL
wp language core activate pl_PL

Zaraz po zainstalowaniu WordPressa

# Usuwamy domyślnie preinstalowane wtyczki
wp plugin delete akismet hello

# Instalujemy i aktywujemy motyw (tu generatepress)
wp theme install generatepress --activate

# Usuwamy niepotrzebne motywy
wp theme delete twentysixteen twentyseventeen twentynineteen twentytwenty

# Usuwamy domyślny wpis + stronę
wp post delete $(wp post list --post_type='post' --format=ids)
wp post delete $(wp post list --post_type='page' --format=ids)

# Usuwamy widgety z sidebara
wp widget delete $(wp widget list sidebar-1 --format=ids)

# Nie zezwalamy na komentowanie postów
wp option set default_comment_status closed    

Tworzenie stron

wp post create --post_type=page --post_status=publish --post_title='Home'
wp post create --post_type=page --post_status=publish --post_title='O stronie'
wp post create --post_type=page --post_status=publish --post_title='Kontakt'

Generowanie motywu potomnego (child-theme)

wp scaffold child-theme nazwa_motywu --parent_theme=generatepress

Permalinki

# Nazwa posta
wp rewrite structure '/%postname%/' --hard
# domyślne
wp option update permalink_structure ""

Zmiana opisu strony

wp option update blogdescription "Moja nowa super strona"

Aktualizacje

Sprawdzenie dostępnych aktualizacji oraz aktualizacja dla: core, pluginów oraz motywów.

Core

wp core check-update
wp core update

Pluginy

wp plugin list --update=available
wp plugin update --all

Motywy

wp theme list --update=available
wp theme update --all

Tłumaczenia

Aktualizacja tłumaczeń WordPress core, pluginów oraz motywów.

wp language core update
wp language plugin --all update
wp language theme --all update

Migracje

Zobacz również: Migracja strony WordPress na nowy serwer za pomocą wp-cli + rsync

Szybki backup plików i bazy

tar -czf "../$(date '+%F')_nazwa.tar.gz" . 
wp db export "../$(date '+%F')_nazwa.sql"

Zmiana URL strony

wp option update siteurl http://mynewurl.com
wp option update home http://mynewurl.com

search-replace w bazie danych

wp search-replace "https://staradomena.pl" "https://nowadomena.pl"

Inne

Regenerowanie obrazków, miniaturek

Regenerowanie wszystkich bez potwierdzenia.

wp media regenerate --yes

Regenerowanie tylko brakujących (na przykład po zmianie rozmiaru miniaturek).

wp media regenerate --yes --only-missing

Listowanie postów, stron, CPT

wp post list
wp post list --post_type='page'
wp post list --post_type='customcontenttype'

Userzy, dodawanie, zmiana hasła usera

wp user list 
wp user create janek janek@email.com --role=author --user_pass=jakies-hasło
wp user update USERNAME --user_pass="PASSWORD"

Wielkość bazy danych lub tabel

wp db size --human-readable
wp db size --tables --human-readable