Nội dung
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
WP-CLI đã dần được sử dụng nhiều bởi cộng đồng các nhà phát triển WordPress trên toàn thế giới, khoảng từ năm 2011. Vậy WP-CLi là gì và bạn có thể sử dụng nó trong công việc quản trị WordPress của bạn như thế nào?
Ý tưởng của WP-CLi là nó cho phép bạn tương tác và quản trị WordPress thông qua việc sử dụng dòng lệnh. Theo như tài liệu chính thức, nói rằng đó là một dòng lệnh thay cho giao diện quản trị WordPress.
Với dòng lệnh bạn có thể thực hiện những thao tác nhanh hơn và ít tốn sử lý đồ họa hơn. Nếu bạn đã từng sử dụng dòng lệnh trên Window hoặc Mac, thì WP-CLI cũng giống như vậy.
Cài đặt WP-CLI
WP-CLI là một thư viện PHP, nó được đóng gói vào file phar. Nó đơn giản là một file nén PHP chứa tất cả những tệp php cần để chạy WP-CLI.
Cài đặt trên Linux
Mở terminal của Window và gõ vào dòng lệnh sau:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Lệnh này sẽ tải tệp wp-cli.phar về máy tính. Giờ chúng ta sẽ kiểm tra xem mọi thứ đã hoạt động chính xác chưa:
php wp-cli.phar --info
Nếu sẽ bạn nhìn thấy kết quả giống như thế này.
PHP binary: /usr/bin/php PHP version: 5.6.30 php.ini used: WP-CLI root dir: phar://wp-cli.phar WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 1.1.0
Để thuận tiện sử dụng WP CLI bạn cần di chuyển thành thư viện thay vì gọi trực tiếp, nhập tiếp 2 dòng lệnh dưới đây:
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Bây giờ bạn đã sẵn sàng dùng lệnh tắt wp --info
, trỏ vào thư mục chứa cài đặt WordPress. Nếu thấy kết quả tương tự nghĩa là bạn đã cài đặt thành công.
Cài đặt trên Window
Cài đặt trên Window sẽ nhiều bước hơn, vì mặc định lệnh PHP không được tích hợp sẵn trong CMD. Bạn có thể tự cài đặt PHP , nhưng để dễ dàng chạy web server trên máy tính hơn bạn sẽ cần gói phần mềm XAMPP. PHP và MySQL sẽ được cài đặt tự động.
Sau khi cài đặt PHP hoàn tất trên máy tính, bạn sẽ cần tìm đường dẫn tới file sử lý PHP (php.exe) và thiết lập biến môi trường PATH để lệnh PHP hiện hành trên CMD.
Bạn tải file wp-cli.phar thông thường và lưu nó vào thư mục, chẳng hạn c:\wp-cli
. Để có thể chạy WP-CLI thông qua lệnh tắt wp
như phần cài đặt ở trên, bạn sẽ tạo một file tên wp.bat
trong thư mục bạn có lưu tệp nén wp-cli.phar
.
Và Thêm vào dòng sau:
@ECHO OFF php "c:/wp-cli/wp-cli.phar" %*
Cuối cùng, hãy khai báo thư mục c:\wp-cli
vào đường dẫn toàn cục (global path).
setx path "%path%;c:\wp-cli"
WP-CLI đã có mặt trên cửa sổ CMD. Bạn hãy thử kiểm tra nhé!
Sử dụng Desktop Server
Một cách dễ dàng hơn, là sử dụng DesktopServer. Nếu bạn đang sử dụng DestopServer, cài đặt WP-CLI sẽ cực kỳ đơn giản. Từ phiên bản DesktopServer 3.8.2, có thêm một plugin mới dành cho nhà phát triển, nó sẽ giúp bạn cài đặt WP-CLI trên mọi sites.
Sau khi kích hoạt, bạn có thể truy cập WP-CLI thông qua trang chính của DesktopServer hoặc trên WordPress Toolbar.
Nếu bạn có sử dụng DesktopServer thì sử dụng WP-CLI sẽ dễ dàng hơn rất nhiều.
Sử dụng WP-CLI từ xa
Nếu bạn muốn chạy các lệnh WP-CLI trên một server khác (vd trên website thật). Bạn sẽ cần kết nối tới Server thông qua trình SSH và thông tin tài khoản hosting. Chú ý: bạn cần có quyền truy cập vào server với SSH được kích hoạt trên cPanel. Nếu nhà cung cấp hosting của bạn không hỗ trợ WP-CLI bạn có thể yêu cầu họ cài đặt.
Sử dụng
Mở lên dòng lệnh và trỏ vào thư mục chứa cài đặt WordPress, nơi bạn sẽ chạy các lệnh WP-CLi trên đó.
Nào, bắt đầu kiểm tra phiên bản cài đặt của WP-CLI.
wp --info
PHP binary: C:\xampplite\php\php.exe PHP version: 5.5.24 php.ini used: C:\xampplite\php\php.ini WP-CLI root dir: C:\xampplite\ds-plugins\ds-cli\vendor\wp-cli\wp-cli WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 1.0.0
NẾu bạn gõ wp
, kết quả sẽ hiển thị ra toàn bộ các lệnh mà bạn có thể sử dụng. Lệnh này có chứa tham số về thông tin phiên bản. Các lệnh khác nhau sẽ quyết định bởi các tham số khác nhau. Các phần còn lại trong bài viết này bạn sẽ học chi tiết về cách sử dụng các tham số.
Lấy phiên bản hiện tại WP-CLi.
$ wp --version WP-CLI 1.0.0
Kiểm tra phiên bản WordPress bạn đang sử dụng.
$ wp core version 4.7.3
Liệt kê danh sách các themes đã được cài đặt.
$ wp theme list +-----------------+----------+--------+---------+ | name | status | update | version | +-----------------+----------+--------+---------+ | twentyfifteen | inactive | none | 1.7 | | twentyseventeen | active | none | 1.1 | | twentysixteen | inactive | none | 1.3 | | twentyten | inactive | none | 2.2 | +-----------------+----------+--------+---------+
Như kết quả ở trên, chúng ta sẽ có thông tin chi tiết về tình trạng, bản cập nhật và phiên bản hiện tại.
Bạn cũng có thể làm tương tự với plugins.
$ wp plugin list +-------------+----------+--------+------------+ | name | status | update | version | +-------------+----------+--------+------------+ | akismet | inactive | none | 3.3 | | hello | inactive | none | 1.6 | | theme-check | inactive | none | 20160523.1 | +-------------+----------+--------+------------+
Thêm vào đó, bạn có thể lọc những thông tin cần lấy với những tham số riêng, ví dụ sau chỉ lấy tên và phiên bản của plugin.
$ wp plugin list --fields=name,version +-------------+------------+ | name | version | +-------------+------------+ | akismet | 3.3 | | hello | 1.6 | | theme-check | 20160523.1 | +-------------+------------+
Cách này khá tiện ích khi bạn viết một shell script, nếu muốn trả về thông tin các trường ngắn gọn.
Chúng ta cũng có thể chỉ hiển thị danh sách những plugins với tiêu chí cụ thể, như liệt kê các plugins chưa được kích hoạt.
$ wp plugin list --status=inactive +-------------+----------+--------+------------+ | name | status | update | version | +-------------+----------+--------+------------+ | akismet | inactive | none | 3.3 | | hello | inactive | none | 1.6 | | theme-check | inactive | none | 20160523.1 | +-------------+----------+--------+------------+
Bạn để ý, ở trên mình dùng 2 lệnh plugin
& list
. Nếu bạn gõ wp plugin
, nó sẽ không thực thi lệnh nào nhưng sẽ cho bạn gợi ý về tất cả các lệnh con liên quan đến lệnh đó. Chẳng hạn:
$ wp plugin usage: wp plugin activate [<plugin>...] [--all] [--network] or: wp plugin deactivate [<plugin>...] [--uninstall] [--all] [--network] or: wp plugin delete <plugin>... or: wp plugin get <plugin> [--field=<field>] [--fields=<fields>] [--format=<format>] or: wp plugin install <plugin|zip|url>... [--version=<version>] [--force] [--activate] [--activate-network] or: wp plugin is-installed <plugin> or: wp plugin list [--<field>=<value>] [--field=<field>] [--fields=<fields>] [--format=<format>] or: wp plugin path [<plugin>] [--dir] or: wp plugin search <search> [--page=<page>] [--per-page=<per-page>] [--field=<field>] [--fields=<fields>] [ --format=<format>] or: wp plugin status [<plugin>] or: wp plugin toggle <plugin>... [--network] or: wp plugin uninstall <plugin>... [--deactivate] [--skip-delete] or: wp plugin update [<plugin>...] [--all] [--format=<format>] [--version=<version>] [--dry-run] See 'wp help plugin <command>' for more information on a specific command.
Lệnh list
là một trong những lệnh con có sẵn cho lệnh chính là plugin
. Nhiều lệnh khác làm việc tương tự như cách này.
Bạn thử gõ tiếp wp core
và wp theme
, cũng trả về cho bạn các lệnh con của nó.
Bạn cũng có thể sử dụng nhiều tham số cho từng lệnh. Ví dụ, nếu chúng ta muốn liệt kê các phiên bản mới cập nhật cho plugins và giới hạn trường hiển thị, bạn sẽ cần kết hợp các tham số trên cùng 1 dòng như thế này.
wp plugin list --fields=name,version --update=available
Mặc định, bạn sẽ nhìn thấy kết quả dạng bảng (table), nhưng nếu bạn muốn hiển thị với dữ liệu JSON hoặc định dạng CSV, chúng ta sử dụng tham số --format
.
$ wp plugin list --format=json [{"name":"akismet","status":"inactive","update":"none","version":"3.3"},{"name":"hello","status":"inactive","update":"none","version":"1.6"},{"name":"theme-check","status":"inactive","update":"none","version":"20160523.1"}]
$ wp plugin list --format=csv name,status,update,version akismet,inactive,none,3.3 hello,inactive,none,1.6 theme-check,inactive,none,20160523.1
Chúng ta đã tìm hiểu qua về các lệnh WP-CLI cơ bản, tiếp theo mình sẽ học cách tương tác trong admin thông qua lệnh.
Plugins và Themes
Trong phần này mình sẽ chỉ cho bạn cách cài đặt, xóa, kích hoạt và vô hiệu hóa themes và plugins. Với plugins và themes được tải trên kho WordPress, thì bạn chỉ nhập tên theme và plugin sau lệnh install
như dưới đây.
$ wp plugin install jetpack Installing Jetpack by WordPress.com (4.8.2) Downloading install package from https://downloads.wordpress.org/plugin/jetpack.4.8.2.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins.
Nào bạn hãy liệt kê lại danh sách plugins mới, một lần nữa bạn sẽ thấy Jetpack đã được cài đặt.
$ wp list plugin --fields=name +-------------+ | name | +-------------+ | akismet | | hello | | jetpack | | theme-check | +-------------+
Thử kiểm tra theme Twenty Eleven có trong danh sách không.
$ wp theme list +-----------------+----------+--------+---------+ | name | status | update | version | +-----------------+----------+--------+---------+ | twentyeleven | inactive | none | 2.5 | | twentyfifteen | inactive | none | 1.7 | | twentyseventeen | active | none | 1.1 | | twentysixteen | inactive | none | 1.3 | | twentyten | inactive | none | 2.2 | +-----------------+----------+--------+---------+
Với những plugins và themes tải ở bên ngoài bạn cần điền đường dẫn URL của file zip. Chú ý sử dụng tên plugin và theme bằng tên slug.
Ví dụ để cài đặt plugin Theme Check từ WordPress.org.
wp plugin install theme-check
Để kích hoạt một plugin, chúng ta có lệnh activate
.
wp plugin activate jetpack
Hoặc bạn có thể cài đặt và kích hoạt plugin với một dòng lệnh.
wp plugin install jetpack --activate
Để xóa một plugin, bạn dùng lệnh delete
.
wp plugin delete jetpack
Chú ý rằng, bạn không thể xóa plugin nếu như plugin đó đang được kích hoạt, giống như bạn thao tác trong admin. Bạn có thể thực hiện tương tự các thao tác cài, vô hiệu hóa, xóa đối với themes.
Bài viết & Trang
Có một số lệnh khác nhau giúp bạn quản lý các kiểu dữ liệu bài viết, như tạo các bài viết mẫu. Trước tiên, chúng ta sẽ liệt kê các bài viết hiện tại.
$ wp post list +----+---------+---------+---------+---------+ | ID | post_ti | post_na | post_da | post_st | | | tle | me | te | atus | +----+---------+---------+---------+---------+ | 1 | Hello w | hello-w | 2017-04 | publish | | | orld! | orld | -04 09: | | | | | | 18:12 | | +----+---------+---------+---------+---------+
bây giờ, hãy tạo ra một vài posts.
$ wp post generate --count=5 Generating posts 100% [=============] 0:03 / 0:02
Nào, chúng ta thử kiểm tra một lần nữa, sẽ thấy các bài viết mới được thêm bởi lệnh trên nhé.
$ wp post list +----+---------+---------+---------+---------+ | ID | post_ti | post_na | post_da | post_st | | | tle | me | te | atus | +----+---------+---------+---------+---------+ | 32 | Post 2 | post-2 | 2017-04 | publish | | | | | -14 19: | | | | | | 01:24 | | | 33 | Post 3 | post-3 | 2017-04 | publish | | | | | -14 19: | | | | | | 01:24 | | | 34 | Post 4 | post-4 | 2017-04 | publish | | | | | -14 19: | | | | | | 01:24 | | | 35 | Post 5 | post-5 | 2017-04 | publish | | | | | -14 19: | | | | | | 01:24 | | | 36 | Post 6 | post-6 | 2017-04 | publish | | | | | -14 19: | | | | | | 01:24 | | | 1 | Hello w | hello-w | 2017-04 | publish | | | orld! | orld | -04 09: | | | | | | 18:12 | | +----+---------+---------+---------+---------+
Như bạn thấy, 5 bài viết mới được tạo với mỗi tiêu đề được đánh chỉ số và chúng không có nội dung. Với cách này chúng ta có thể tạo ra nhiều bài viết đối với bất kỳ kiểu dữ liệu nào.
$ wp post generate --post_type=page --count=3 Generating posts 100% [=============] 0:02 / 0:03
Lệnh trên, sẽ tạo ra 3 trang với tiêu đề có đánh số và không chứa nội dung. Liệt kê tất cả các trang đã tạo.
$ wp post list --post_type=page +----+---------+---------+---------+---------+ | ID | post_ti | post_na | post_da | post_st | | | tle | me | te | atus | +----+---------+---------+---------+---------+ | 42 | Page 2 | post-2 | 2017-04 | publish | | | | | -14 19: | | | | | | 06:21 | | | 43 | Page 3 | post-3 | 2017-04 | publish | | | | | -14 19: | | | | | | 06:21 | | | 44 | Page 4 | post-4 | 2017-04 | publish | | | | | -14 19: | | | | | | 06:21 | | | 22 | Title | title | 2017-04 | publish | | | | | -07 15: | | | | | | 42:27 | | | 2 | Sample | sample- | 2017-04 | publish | | | Page | page | -04 09: | | | | | | 18:12 | | +----+---------+---------+---------+---------+
Nếu bạn muốn tạo các bài riêng đơn lẻ, bạn có thể chỉ định tiêu đề và nội dung cho nó, như thế này.
$ wp post create --post_title='Just a Post' --post_content='I wandered lonely as a cloud.' --post_status='publish' Success: Created post 45.
Mặc định, các bài viết sẽ được tạo dạng bản nháp (draft), do vậy nếu bạn muốn xuất bản chúng bạn cần sử dụng tham số post_status=publish
.
Bạn cũng tạo một trang với tiêu đề và nội dung chỉ định , rất đơn giản chỉ thay kiểu dữ liệu post_type=page
.
wp post create --post_type=page --post_title='Welcome to a New Dawn' --post_content='Read on for some amazing insights.' --post_status=publish
Chúng ta cũng có thể cập nhật bài viết đã tạo trước đó, bằng cách sử dụng lệnh update
.
$ wp post update 45 --post_content='I just updated the post content via the WP-CLI.' --post_status='publish' Success: Updated post 45.
Lưu ý , bạn phải nhập đúng post ID, nếu không bạn sẽ nhân được cảnh báo Warning: Invalid post ID
. Lệnh này bạn cũng có thể sử dụng để cập nhật mọi kiểu dữ liệu có trong trang web WordPress của bạn.
Giờ chúng ta sẽ học cách xóa bài viết, sử dụng lệnh delete
như dưới đây.
$ wp post delete 45 Success: Trashed post 45.
Lệnh trên, sẽ xóa tạm bài viết/trang. Nếu bạn muốn xóa vĩnh viễn, cần thêm tham số --force
.
wp post delete 45 --force
Nhìn chung, theo ý kiến của mình việc sử dụng CLI sẽ giúp bạn nhanh chóng quản lý bài viết một cách thông minh. Nó có cảm giác không cần phải nhớ chi tiết về mọi thời điểm bạn muốn tạo hoặc cập nhật bài viết.
Bình luận (Comments)
Quản lý bình luận cũng giống như bài viết. Để xem tất cả các bình luận trên website, sử dụng lệnh này.
$ wp comment list +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | comment_ID | comment_post_ID | comment_date | comment_approved | comment_author | comment_author_email | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | 1 | 1 | 2017-04-04 09:18:12 | 1 | A WordPress Commenter | [email protected] | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+
Nếu bạn có khá nhiều bình luận thì kết quả trên sẽ dối hơn đấy.
Để tạo một bình luận, sử dụng lệnh create
: Xem VD sau
$ wp comment create --comment_post_ID=1 --comment_content='Just adding my 2 cents worth!' Success: Created comment 24. $ wp comment list +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | comment_ID | comment_post_ID | comment_date | comment_approved | comment_author | comment_author_email | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | 24 | 1 | 2017-04-14 19:24:45 | 1 | | | | 1 | 1 | 2017-04-04 09:18:12 | 1 | A WordPress Commenter | [email protected] | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+
Chú ý, để tạo bình luận cho bài viết, bạn cần chỉ định ID của bài viết, cũng như cách tạo bình luận. Tương tự với ví dụ tạo nhiều bài viết, ở đây chúng ta cần tạo một vài bình luận cho một bài viết bạn muốn.
$ wp comment generate --count=3 --post_id=1 Generating comments 100% [==========] 0:02 / 0:03 $ wp comment list +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | comment_ID | comment_post_ID | comment_date | comment_approved | comment_author | comment_author_email | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+ | 26 | 1 | 2017-04-14 19:27:54 | 1 | | | | 27 | 1 | 2017-04-14 19:27:54 | 1 | | | | 25 | 1 | 2017-04-14 19:27:53 | 1 | | | | 24 | 1 | 2017-04-14 19:24:45 | 1 | | | | 1 | 1 | 2017-04-04 09:18:12 | 1 | A WordPress Commenter | [email protected] | +------------+-----------------+---------------------+------------------+-----------------------+-------------------------+
Hãy chắc chắn bạn điền con số vào tham số count
, vì mặc định WP-CLI sẽ tạo ra 100 bình luận.
Để xóa một bình luận bạn hãy điền ID của bình luận theo sau lệnh delete
và sử dụng thêm tham số --force
, nếu không muốn bình luận lưu vào Trash.
$ wp comment delete 26 --force Success: Deleted comment 26.
Nhớ rằng, ID của bình luận không phải của bài viết.
Tài liệu tham khảo WP-CLI
Bài viết này mình chỉ mang tính chất giới thiệu qua về cách sử dụng lệnh WP-CLI. Bạn có thể tìm hiểu thêm chi tiết về các lệnh, với các nguồn tài nguyên ở dưới đây:
- Main WP-CLI Project Page
- Official WP-CLI Handbook
- WP-CLI Roadmap
- Slack Channel
- Full WP-CLI Command List
- WP-CLI Twitter Feed
- Full DesktopServer Tutorial
Mình hy vọng qua bài viết này bạn sẽ thấy WordPress đáng yêu hơn và sức mạnh hơn nếu như WP-CLI được tích hợp vào WordPress Hosting. WP-CLI sẽ giúp bạn tương tác với giao diện WordPress nhất là trong trường hợp bạn bị mất quyền truy cập vào quản trị, thật dễ dàng để thiết lập lại mật khẩu…
Mọi thắc mắc xin để lại bình luận bên dưới nhé, chúc bạn thành công!
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype