Tổng quan về WP-CLI
WP-CLI là một công cụ dòng lệnh mã nguồn mở cho phép quản lý các cài đặt WordPress mà không cần giao diện web. Nó cung cấp các lệnh để thực hiện các tác vụ như cài đặt, cập nhật, quản lý plugin/theme, quản lý người dùng, cấu hình cơ sở dữ liệu, và tối ưu hóa hiệu suất. WP-CLI đặc biệt hữu ích cho quản trị viên hệ thống, nhà phát triển, và tự động hóa quy trình quản lý WordPress.
- Tính năng chính:
- Cài đặt và cấu hình WordPress từ dòng lệnh.
- Quản lý plugin, theme, người dùng, bài viết, và cấu hình.
- Thực hiện các tác vụ cơ sở dữ liệu (sao lưu, nhập/xuất, tối ưu hóa).
- Tích hợp với script để tự động hóa (cron, CI/CD).
- Hỗ trợ multisite WordPress.
- Mục đích sử dụng:
- Tự động hóa các tác vụ quản lý WordPress (ví dụ: cập nhật hàng loạt).
- Quản lý nhiều website WordPress trên server.
- Phát triển và kiểm thử plugin/theme.
- Sao lưu và di chuyển dữ liệu WordPress.
Cài đặt WP-CLI
WP-CLI được viết bằng PHP và chạy trên Linux, macOS, Windows. Yêu cầu PHP 5.6+ (khuyến nghị 7.4+), WordPress 3.5.2+, và quyền truy cập shell.
- Cài đặt trên Linux/macOS:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
- Tải file thực thi, cấp quyền, và di chuyển đến
/usr/local/bin
. - Cài đặt trên Windows:
- Tải
wp-cli.phar
từ wp-cli.org, lưu vào thư mục (ví dụ:C:\wp-cli
). - Thêm thư mục vào biến PATH hoặc chạy trực tiếp:
php wp-cli.phar
- Xác minh cài đặt:
wp --info
- Hiển thị thông tin phiên bản WP-CLI và cấu hình PHP.
- Cập nhật WP-CLI:
wp cli update
Cấu hình WP-CLI
WP-CLI tự động phát hiện cài đặt WordPress nếu chạy từ thư mục chứa wp-config.php
. Có thể tùy chỉnh hành vi qua tệp cấu hình hoặc tham số dòng lệnh.
- Tệp cấu hình (
wp-cli.yml
): - Tạo tệp
wp-cli.yml
trong thư mục làm việc hoặc~/.wp-cli/config.yml
:
nano wp-cli.yml
- Ví dụ nội dung:
path: /var/www/wordpress
url: https://example.com
user: admin
color: false
path
: Đường dẫn đến thư mục WordPress.url
: URL website.user
: Người dùng mặc định.- Chạy WP-CLI với tham số:
wp --path=/var/www/wordpress --url=https://example.com
Các lệnh WP-CLI thường dùng
WP-CLI có hàng trăm lệnh, được nhóm theo danh mục (core, plugin, theme, user, db, v.v.). Cú pháp chung:
wp [nhóm_lệnh] [lệnh] [tham_số] [tùy_chọn]
Quản lý WordPress Core
- Tải WordPress core:
wp core download
- Tải file WordPress vào thư mục hiện tại.
- Cài đặt WordPress:
wp core install --url=URL --title=Tiêu_đề --admin_user=Tên --admin_password=Mật_khẩu --admin_email=Email
- Ví dụ:
wp core install --url=https://example.com --title="My Site" --admin_user=admin --admin_password=pass123 [email protected]
- Cập nhật core:
wp core update
- Cập nhật WordPress lên phiên bản mới nhất.
- Kiểm tra phiên bản:
wp core version
Quản lý Plugin
- Cài đặt plugin:
wp plugin install tên_plugin
- Ví dụ:
wp plugin install yoast-seo
- Kích hoạt plugin:
wp plugin activate tên_plugin
- Ví dụ:
wp plugin activate yoast-seo
- Cập nhật plugin:
wp plugin update tên_plugin
- Hoặc:
wp plugin update --all
- Xóa plugin:
wp plugin delete tên_plugin
Quản lý Theme
- Cài đặt theme:
wp theme install tên_theme
- Ví dụ:
wp theme install twentytwentythree
- Kích hoạt theme:
wp theme activate tên_theme
- Cập nhật theme:
wp theme update tên_theme
- Hoặc:
wp theme update --all
- Xóa theme:
wp theme delete tên_theme
Quản lý Người dùng
- Tạo người dùng:
wp user create tên_người_dùng email --role=vai_trò
- Ví dụ:
wp user create user1 [email protected] --role=editor
- Cập nhật mật khẩu:
wp user update tên_người_dùng --user_pass=mật_khẩu_mới
- Xóa người dùng:
wp user delete tên_người_dùng --reassign=ID_người_dùng_khác
- Chuyển nội dung của người dùng bị xóa sang người dùng khác.
Quản lý Cơ sở dữ liệu
- Xuất cơ sở dữ liệu:
wp db export tên_file.sql
- Ví dụ:
wp db export backup.sql
- Nhập cơ sở dữ liệu:
wp db import tên_file.sql
- Tối ưu hóa cơ sở dữ liệu:
wp db optimize
- Thực hiện truy vấn SQL:
wp db query "TRUY_VẤN_SQL"
- Ví dụ:
wp db query "SELECT * FROM wp_options"
Quản lý Bài viết và Trang
- Tạo bài viết:
wp post create --post_title="Tiêu_đề" --post_content="Nội_dung" --post_status=publish
- Xóa bài viết:
wp post delete ID_bài_viết
- Ví dụ:
wp post delete 123
- Liệt kê bài viết:
wp post list
Quản lý Multisite
- Cài đặt multisite:
wp core multisite-install --url=URL --title=Tiêu_đề --admin_user=Tên --admin_password=Mật_khẩu --admin_email=Email
- Thêm site mới:
wp site create --slug=đường_dẫn
- Ví dụ:
wp site create --slug=blog
Tìm kiếm và Thay thế
- Tìm kiếm và thay thế nội dung:
wp search-replace "chuỗi_cũ" "chuỗi_mới"
- Ví dụ:
wp search-replace "http://old.com" "https://new.com"
Kiểm tra và Tối ưu hóa
- Kiểm tra trạng thái WordPress:
wp core verify-checksums
- Kiểm tra tính toàn vẹn file core.
- Kiểm tra hiệu suất:
wp profile stage
- Phân tích hiệu suất các giai đoạn tải WordPress.
Tùy chọn toàn cục
- Chạy thử (dry run):
wp search-replace "cũ" "mới" --dry-run
- Xem trước mà không thực hiện thay đổi.
- Hiển thị chi tiết:
wp plugin install tên_plugin --debug
- In log chi tiết.
- Chạy với người dùng cụ thể:
wp --user=tên_người_dùng
Tính năng nâng cao
- Tùy chỉnh lệnh:
- Tạo lệnh WP-CLI tùy chỉnh bằng PHP trong plugin/theme.
- Ví dụ: Đăng ký lệnh
wp my-plugin do-something
quaWP_CLI::add_command()
. - Tích hợp với công cụ khác:
- Kết hợp với
cron
để tự động hóa:
wp cron event run --due-now
- Dùng với
rsync
hoặcrclone
để sao lưu:
wp db export backup.sql && rclone copy backup.sql myS3:bucket
- SSH và Docker:
- Chạy WP-CLI qua SSH:
ssh user@server "wp --path=/var/www/wordpress core update"
- Trong container Docker:
docker exec wordpress wp core update
- Package cộng đồng:
- Cài package bổ sung:
wp package install wp-cli/doctor-command
- Ví dụ:
wp doctor check
để kiểm tra sức khỏe WordPress.
Hỗ trợ và tài liệu
- Tài liệu chính thức: wp-cli.org cung cấp danh sách lệnh, hướng dẫn, và API.
- Cộng đồng: Hỗ trợ qua GitHub Issues, Slack (@wp-cli), và Stack Overflow.
- Kiểm tra lệnh:
wp help [nhóm_lệnh]
- Ví dụ:
wp help plugin
Lưu ý
- Yêu cầu:
- Quyền truy cập thư mục WordPress và cơ sở dữ liệu.
- PHP CLI phải được cấu hình đúng (kiểm tra:
php -v
). - Bảo mật:
- Tránh chạy WP-CLI với tài khoản root; dùng tài khoản WordPress cụ thể.
- Kiểm tra quyền file/thư mục trước khi thực thi lệnh nguy hiểm (như
search-replace
). - Hiệu suất:
- Một số lệnh (như
search-replace
trên cơ sở dữ liệu lớn) có thể chậm; dùng--dry-run
để kiểm tra. - Hạn chế:
- Không thay thế hoàn toàn giao diện admin (một số plugin cần cấu hình qua web).
- Yêu cầu hiểu biết cơ bản về WordPress và dòng lệnh.
- Giấy phép: Mã nguồn mở (MIT License). Đóng góp qua GitHub.
Ví dụ thực tế
- Cài đặt WordPress hoàn chỉnh:
wp core download
wp config create --dbname=wp_db --dbuser=user --dbpass=pass
wp core install --url=https://example.com --title="My Site" --admin_user=admin --admin_password=pass123 [email protected]
- Sao lưu và di chuyển site:
wp db export backup.sql
wp search-replace "old.com" "new.com"
rclone copy backup.sql myS3:bucket
- Cập nhật tất cả:
wp core update
wp plugin update --all
wp theme update --all
Nếu bạn cần tóm tắt chi tiết hơn về lệnh cụ thể, tích hợp WP-CLI với công cụ khác (như Rclone, cron), hoặc hỗ trợ cấu hình, hãy cho tôi biết!