Mình thường quản lý các website WordPress thông qua giao diện dòng lệnh WP CLI để đỡ mất thời gian điều hướng trên giao diện web, vừa tiết kiệm thời gian, vừa dễ debug trong trường hợp gặp lỗi.
Mục Lục
I. Cài đặt WP-CLI
WP-CLI thường đã được cài đặt sẵn khi bạn tạo WordPress thông qua các công cụ Centminmod, Cyberpanel, Cloudpanel,… Có thể kiểm tra bằng cách di chuyển đến thư mục cài đặt WordPress và gõ lệnh
wp info --allow-root
Code language: Nginx (nginx)
Nếu không thấy kết quả trả về thì nghĩa là máy chủ chưa có WP-CLI. Trong trường này, cài đặt WP-CLI vào máy chủ bằng lệnh sau
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Code language: Nginx (nginx)
Nếu bạn cài đặt WordPress thông qua Docker, cần bổ sung thêm phần khai báo wpcli vào trong file docker-compose.yml
tương tự như bên dưới.
wpcli:
depends_on:
- db
- wordpress
image: wordpress:cli
entrypoint: wp
command: "--info"
env_file: .env
volumes:
- ./wordpress/html:/var/www/html
Code language: YAML (yaml)
Bạn có thể tham khảo ví dụ trong bài viết hướng dẫn cài đặt WordPress bằng Caddy bên dưới
Dưới đây là tổng hợp lại các câu lệnh WP CLI thường dùng để lâu lâu lỡ quên còn tìm lại được để tham khảo
II. Quản lý Plugins
Hiển thị danh sách tất cả plugin đang có
wp plugin list
Code language: PHP (php)
Hiển thị các plugin đang kích hoạt
wp plugin list --status=active
Code language: PHP (php)
Hiển thị các plugin có sẵn bản cập nhật mới
wp plugin list | grep "available" | awk '{print $1}' # Hiển thị theo dánh sách từng hàng
wp plugin list | grep "available" | awk '{print $1}' ORS=' ' # Hiển thị tất cả chung 1 dòng
Code language: Nginx (nginx)
Cài đặt, kích hoạt, cập nhật, tắt và xóa plugin mới, ví dụ Advanced Custom Fields
wp plugin install advanced-custom-fields ## Cài đặt
wp plugin activate advanced-custom-fields ## Kích hoạt
wp plugin update advanced-custom-fields ## Cập nhật
wp plugin deactivate advanced-custom-fields ## Tắt
wp plugin delete advanced-custom-fields ## Xóa
Code language: Nginx (nginx)
Cập nhật tất cả plugin
wp plugin update --all
Code language: Nginx (nginx)
III. Quản lý theme
Hiển thị danh sách theme
wp theme list
Code language: PHP (php)
Cập nhật theme, ví dụ Kadence
wp theme update kadence
Code language: Nginx (nginx)
IV. Quản lý database
Sao lưu (Backup) database
wp db export
Code language: JavaScript (javascript)
Phục hồi (Restore) database
wp db import < database.sql
Code language: JavaScript (javascript)
Truy cập vào CLI của database để gõ lệnh
wp db cli
Code language: Nginx (nginx)
V. Thay đổi URL website
Lệnh này được dùng khi cần tạo staging cho website chính, đổi từ tên miền A qua tên miền B, hoặc ngược lại.
wp search-replace 'https://thuanbui.dev' 'https://thuanbui.me' --skip-columns=guid
Code language: Nginx (nginx)
VI. Sử dụng WP-CLI thông qua Docker
Trong trường hợp sử dụng WP-CLI thông qua docker, các câu lệnh cần được sửa lại thành
docker-compose run --rm wpcli command
Code language: Dockerfile (dockerfile)
Ví dụ lệnh
wp plugin list
Code language: PHP (php)
cần được thay bằng
docker-compose run --rm wpcli wp plugin list --allow-root
Code language: Dockerfile (dockerfile)
Lệnh này cần được thực thi tại thư mục chứa file docker-compose.yml
thiết lập WordPress.
Còn rất nhiều các lệnh khác của WP-CLI, có thể tham khảo thêm bằng lệnh sau
wp --help
Code language: Bash (bash)
Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!