WP-CLI (WordPress Command Line Interface) е инструмент за управление на WordPress сайтове чрез командния ред. Той позволява извършване на различни задачи, които обикновено се правят през администраторския панел на WordPress, но много по-бързо и автоматизирано. Ето някои от основните функции и задачи, които могат да се изпълняват с WP-CLI:
- Инсталация и актуализация на WordPress ядро:
- Инсталиране на нова инсталация на WordPress.
- Актуализиране на ядрото до най-новата версия.
- Управление на плъгини и теми:
- Инсталиране, активиране, деактивиране, актуализиране и изтриване на плъгини и теми.
- Управление на потребители:
- Създаване, изтриване, редактиране на потребители.
- Промяна на потребителски роли и пароли.
- Управление на съдържание:
- Създаване, редактиране и изтриване на публикации и страници.
- Импортиране и експортиране на съдържание.
- Административни задачи:
- Архивиране на базата данни.
- Промяна на конфигурационни настройки.
- Изпълнение на cron задачи.
WP-CLI е особено полезен за разработчици и администратори на сайтове, които трябва да изпълняват повторяеми задачи, управляват множество сайтове или автоматизират работни процеси. За да използвате WP-CLI, е необходимо да имате достъп до командния ред на вашия сървър, където е инсталиран WordPress.
Как да инсталирам в Ubuntu wp-cli ?
За да инсталирате WP-CLI на Ubuntu, следвайте тези стъпки:
Инсталирайте необходими зависимости: Уверете се, че имате инсталирани curl
и php-cli
, които са необходими за изпълнението на WP-CLI.
sudo apt update
sudo apt install curl php-cli
Свалете WP-CLI: Изтеглете последната версия на WP-CLI с помощта на curl
.
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Направете файла изпълним: Променете разрешенията на сваления файл, за да го направите изпълним.
chmod +x wp-cli.phar
Преместете файла: Преместете изпълнимия файл в директория, която е в системния ви PATH, за да можете да го използвате като глобална команда wp
.
sudo mv wp-cli.phar /usr/local/bin/wp
Проверете инсталацията: Уверете се, че WP-CLI е инсталиран правилно, като изпълните командата wp --info
.
wp --info
Ако всичко е наред, ще видите информация за вашата инсталация на WP-CLI.
Това е всичко! Сега можете да използвате WP-CLI на вашата Ubuntu система, за да управлявате WordPress сайтове чрез командния ред.
Команди
wp cli update
Командата wp cli update
се използва за актуализиране на WP-CLI до последната версия. Когато изпълните тази команда, WP-CLI проверява дали има налична нова версия и, ако има такава, я изтегля и инсталира.
wp core version
Командата wp core version
в WP-CLI се използва за показване на текущата версия на инсталирания WordPress. Тази команда не променя нищо в конфигурацията или файловете на сайта; тя само извежда информация за версията.
wp core check-update
Командата wp core check-update
в WP-CLI се използва за проверка на налични актуализации за ядрото на WordPress. Когато изпълните тази команда, тя ще провери текущата инсталация на WordPress и ще върне информация за наличните нови версии, ако има такива.
wp core update
Командата wp core update
в WP-CLI се използва за актуализиране на ядрото на WordPress до последната налична версия. Тази команда е полезна за поддържане на вашата WordPress инсталация актуална с най-новите функции, подобрения и корекции на сигурността.
wp theme list
Командата wp theme list
в WP-CLI се използва за извеждане на списък с всички инсталирани теми в WordPress инсталацията. Тази команда предоставя информация за всяка тема, като име, статус (активна или неактивна), версия и други детайли.
wp theme delete theme_name
Командата wp theme delete
в WP-CLI се използва за изтриване на една или повече инсталирани теми в WordPress. За да изтриете тема, трябва да посочите името на темата, която искате да премахнете. Тази команда е полезна за освобождаване на пространство и за премахване на ненужни теми от вашата WordPress инсталация.
wp plugin list
Командата wp plugin list
в WP-CLI се използва за извеждане на списък с всички инсталирани плъгини в WordPress инсталацията. Тази команда предоставя информация за всеки плъгин, като име, статус (активен или неактивен), версия и други детайли.
wp checksum core
Командата wp checksum core
в WP-CLI се използва за проверка на целостта на файловете на ядрото на WordPress. Тази команда сравнява файловете във вашата инсталация с оригиналните файлове от официалното издание на WordPress. Ако има несъответствия, това може да означава, че някои файлове са променени или компрометирани.
wp db check
Командата wp db check
в WP-CLI се използва за проверка на целостта на базата данни, свързана с вашата WordPress инсталация. Тази команда изпълнява MySQL команда за проверка на базата данни и съобщава за всякакви проблеми, които открие.
wp theme update --all
Командата wp theme update --all
в WP-CLI се използва за актуализиране на всички инсталирани теми до най-новите им версии. Тази команда е много полезна за поддържане на всички теми актуални, което може да помогне за подобряване на сигурността и производителността на вашия WordPress сайт.
wp plugin update --all
Командата wp plugin update --all
в WP-CLI се използва за актуализиране на всички инсталирани плъгини до най-новите им версии. Това е изключително полезно за поддържане на вашия WordPress сайт актуален и сигурен, като осигурява, че всички плъгини използват последните налични версии с всички поправки и нови функции.
wp plugin search siteground
Командата wp plugin search
в WP-CLI се използва за търсене на плъгини в WordPress.org Plugin Directory. Когато изпълните тази команда с ключова дума, WP-CLI ще върне списък с плъгини, които съответстват на тази ключова дума. wp plugin search siteground
: Тази команда търси плъгини, свързани с ключовата дума “siteground” в WordPress.org Plugin Directory.
wp plugin install sg-security
Командата wp plugin install
в WP-CLI се използва за инсталиране на плъгини от WordPress.org Plugin Directory. В случая, командата ще инсталира плъгина SG Security
. Това ще изтегли, разопакова и инсталира плъгина SG Security
във вашата WordPress инсталация. Ако искате автоматично да активирате плъгина след инсталацията, добавете флага --activate
:
wp plugin activate sg-security
Командата wp plugin activate
в WP-CLI се използва за активиране на инсталиран плъгин в WordPress. В случая, командата ще активира плъгина SG Security
.
wp user list
Командата wp user list
в WP-CLI се използва за извеждане на списък с всички потребители във вашата WordPress инсталация. Тази команда предоставя информация за всеки потребител, като потребителско име, имейл адрес, роля, статус и други детайли.
+----+------------+--------------+---------------------+---------------------+---------------+
| ID | user_login | display_name | user_email | user_registered | roles |
+----+------------+--------------+---------------------+---------------------+---------------+
| 1 | ivan | ivan | ivan@example.com | 2023-01-01 00:00:00 | administrator |
| 2 | dragan | dragan | dragan@example.com | 2023-01-02 00:00:00 | editor |
| 3 | petkan | petkan | petkan@example.com | 2023-01-03 00:00:00 | subscriber |
+----+------------+--------------+---------------------+---------------------+---------------+
В таблицата ще видите следната информация:
- ID: Уникалният идентификатор на потребителя.
- user_login: Потребителското име на потребителя.
- display_name: Името за показване на потребителя.
- user_email: Имейл адресът на потребителя.
- user_registered: Датата и часът, когато потребителят се е регистрирал.
- roles: Ролята на потребителя в сайта (например, администратор, редактор, абонат).
wp user update 3 --display_name='потребител' --user_pass='парола'
Командата wp user update
в WP-CLI се използва за актуализиране на информацията за съществуващ потребител. В конкретния случай, командата актуализира потребителя с ID 3, като задава ново име за показване и нова парола. Освен --display_name
и --user_pass
, командата wp user update
поддържа и други опции за актуализиране на потребителска информация, като:
--role=<role>
: Промяна на ролята на потребителя.
--user_login=<login>
: Промяна на потребителското име.
--user_nicename=<nicename>
: Промяна на slug на потребителя.
--user_email=<email>
: Промяна на имейл адреса.
--user_url=<url>
: Промяна на URL адреса на потребителя.
--nickname=<nickname>
: Промяна на прякора на потребителя.
--first_name=<first_name>
: Промяна на първото име на потребителя.
--last_name=<last_name>
: Промяна на фамилното име на потребителя.
--description=<description>
: Промяна на описанието на потребителя.
wp user create samyil support@itservice-bg.net --role=administrator
Командата wp user create
в WP-CLI се използва за създаване на нов потребител във вашата WordPress инсталация. В конкретния случай, командата създава нов потребител с потребителско име samyil
, имейл адрес support@itservice-bg.net
и роля administrator
. Командата wp user create
поддържа и други опции за задаване на допълнителна информация за новия потребител, като:
--description=<description>
: Задаване на описание на потребителя.
--user_pass=<password>
: Задаване на конкретна парола за новия потребител. Ако не е зададена, ще бъде генерирана автоматично.
--user_registered=<date>
: Задаване на дата на регистрация на потребителя. Форматът трябва да бъде YYYY-MM-DD
.
--display_name=<name>
: Задаване на име за показване на новия потребител.
--user_nicename=<nicename>
: Задаване на slug на потребителя.
--user_url=<url>
: Задаване на URL адрес на потребителя.
--nickname=<nickname>
: Задаване на прякор на потребителя.
--first_name=<first_name>
: Задаване на първо име на потребителя.
--last_name=<last_name>
: Задаване на фамилно име на потребителя.
wp user delete 2
Командата wp user delete
в WP-CLI се използва за изтриване на потребител от WordPress инсталацията. В конкретния случай, командата изтрива потребителя с ID 2. Командата wp user delete
поддържа и няколко опции, които могат да бъдат полезни при изтриването на потребител:
--reassign=<user_id>
: Пренасочване на съдържанието на изтрития потребител към друг потребител с определен ID. Това е полезно, за да не се загуби съдържание (публикации, страници и т.н.), създадено от изтрития потребител.
Допълнителни опции
Командата wp user list
поддържа различни опции за филтриране и форматиране на изхода. Някои от полезните опции включват:
wp user list --role=administrator
–field=<field>: Извеждане само на определено поле. Например, за да видите само имейл адресите на потребителите:
wp user list --field=user_email
–fields=<fields>: Извеждане на определени полета. Например, за да видите само потребителското име и имейла:
wp user list --fields=user_login,user_email
–fields=<fields>: Извеждане на определени полета. Например, за да видите само потребителското име и имейла:
wp user list --format=json
–format=<format>: Определяне на формата на изхода (table, csv, json, yaml, ids). Например, за да получите изхода в JSON формат:
Скрипт за проверка на файлове
Създаваме файла wpcheck.sh
vim wpcheck.sh
Копираме скрипта в него.
#!/bin/bash
# Script wp-cli Check Wordpres Direcory
# Author: (c)2019-2024 Samuil Arsov <support@itservice-bg.net>
# Based on Debian/Ubuntu ISPconfig server
SITE="
/var/www/itservice-bg.net/web
/var/www/avtogarapleven.com/web
/var/www/eltransportpleven.com/web
/var/www/visitpleven.com/web"
for dir in ${SITE} ; do
cd ${dir}/;
echo " `pwd` " ;
wp checksum core --allow-root
echo "" ; cd ../.. ;
done
Променяме правата за изпълнение на скрипта и го стартираме.
sudo chmod 755 wpcheck.sh
sudo ./wpcheck.sh
Примерен резултат.
Скрипт с обхождане на всички директории в /var/www
#!/bin/bash
# Script wp-cli Check Wordpres Direcory
# Author: (c)2019-2024 Samuil Arsov <support@itservice-bg.net>
# Based on Debian/Ubuntu ISPconfig server
# Обхождане на всички директории в /var/www/
for dir in /var/www/*/web; do
# Проверка дали е директория
if [ -d "$dir" ]; then
# Проверка дали wp-config.php съществува в директорията
if [ -f "$dir/wp-config.php" ]; then
echo "$dir"
# Изпълняване на wp checksum core
wp --path="$dir" checksum core --allow-root
echo "---------------------------"
fi
fi
done
Резултат от обхождането.
Подобрена версия на скрипта с проверки
#!/bin/bash
# Script wp-cli Check Wordpres Direcory
# Author: (c)2019-2024 Samuil Arsov <support@itservice-bg.net>
# Based on Debian/Ubuntu ISPconfig server
# Проверка дали wp-cli е инсталиран
if ! command -v wp &> /dev/null; then
echo "WP-CLI не е инсталиран. Моля, инсталирайте го и опитайте отново."
exit 1
fi
# Обхождане на всички директории в /var/www/
for dir in /var/www/*/web; do
# Проверка дали е директория
if [ -d "$dir" ]; then
# Проверка дали wp-config.php съществува в директорията
if [ -f "$dir/wp-config.php" ]; then
echo "Изпълнява wp checksum core в $dir"
# Изпълняване на wp checksum core
wp --path="$dir" checksum core --allow-root
echo "---------------------------"
# Проверка за грешки при изпълнението на командата
if [ $? -ne 0 ]; then
echo "Грешка при изпълнението на wp checksum core в $dir"
else
echo "wp checksum core изпълнен успешно в $dir"
fi
else
echo "wp-config.php не е намерен в $dir"
fi
else
echo "$dir не е директория"
fi
done
Малко си преправих скрипта за мен, че ползвам Fedora сървър но тва с check-a на всички сайтове е много яко 🙂