WP-CLI Căn bản

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài WP-CLI Căn bản

WP-CLI đã dần được 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ư làm sao?

Ý tưởng của WP-CLi là nó cấp 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ư liệu chính thức, bảo 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ũng có thể có thể thi hành những thao tác mau 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 gói gọn vào file phar. Nó dễ dàng 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 tất cả đã hoạt động chuẩn 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 lợi sử dụng WP CLI bạn phải 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ựa như tức 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 chưa được tích hợp sẵn trong CMD. Bạn có thể tự cài đặt PHP , nhưng để đơn giản chạy web server trên máy tính hơn bạn sẽ cần gói ứng dụng XAMPP. PHP và MySQL sẽ có cài đặt tự động.

Sau khi cài đặt PHP hoàn chỉnh trên máy tính, bạn sẽ rất 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ì và lưu nó vào thư mục, chẳng hạn c:wp-cli . Để cũng 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 đơn giản hơn, là sử dụng DesktopServer. Nếu bạn đang sử dụng DestopServer, cài đặt WP-CLI sẽ thật đơn giản. Từ phiên bản DesktopServer 3.8.2, có thêm 1 plugin mới dành riêng cho nhà phát triển, nó sẽ giúp bạn cài đặt WP-CLI trên tất cả sites.

DesktopServer

Sau khi kích hoạt, bạn cũng có thể 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 mong 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à tin tức tài khoản hosting. Chú ý: bạn phải có quyền truy cập vào server với SSH được kích hoạt trên cPanel. Nếu nhà sản xuất hosting của bạn không hỗ trợ WP-CLI bạn có thể đòi hỏi 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:xampplitephpphp.exe PHP version: 5.5.24 php.ini used: C:xampplitephpphp.ini WP-CLI root dir: C:xamppliteds-pluginsds-clivendorwp-cliwp-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ũng đều có thể sử dụng. Lệnh này có chứa tham số về tin tức 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 sót lại trong bài viết này bạn sẽ học chi tiết về phong thái dùng các tham số.

Lấy phiên bản ngày nay 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ũng có thể có thể làm tựa như 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 các tham số riêng, thí 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ề tin tức các trường ngắn gọn.
Chúng ta cũng có thể có thể chỉ hiển thị bản kê những plugins với tiêu chí cụ thể, như liệt kê các plugins không đượ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 để ý, phía 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 [  ...] [--all] [--network] or: wp plugin deactivate [    ...] [--uninstall] [--all] [--network] or: wp plugin delete     ... or: wp plugin get      [--field=  ] [--fields=  ] [--format=  ] or: wp plugin install   ... [--version=  ] [--force] [--activate] [--activate-network] or: wp plugin is-installed    or: wp plugin list [--  =  ] [--field=  ] [--fields=  ] [--format=  ] or: wp plugin path [  ] [--dir] or: wp plugin search    [--page=  ] [--per-page=  ] [--field=  ] [--fields=  ] [ --format=  ] or: wp plugin status [  ] or: wp plugin toggle     ... [--network] or: wp plugin uninstall     ... [--deactivate] [--skip-delete] or: wp plugin update [    ...] [--all] [--format=  ] [--version=  ] [--dry-run] See 'wp help plugin   ' for more information on a specific command.                                            

Lệnh list là một trong các lệnh con có sẵn cho lệnh chính là plugin . Nhiều lệnh khác làm việc tựa như như cách này.

Bạn thử gõ tiếp wp core 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 mỗi lệnh. Ví dụ, nếu chúng ta muốn liệt kê những 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ực kỳ cần phối 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 mong 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 bản kê 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ũng 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 chẳ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ũng có thể có thể thi hành tựa như 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 nên 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ê mọi thứ 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 mong muốn tạo các bài riêng đơn lẻ, bạn cũng đều 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 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ó thể cập nhật bài viết đã tạo trước đó, bằng phương pháp 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 cần 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ũng có thể 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 quan điểm của mình việc sử dụng CLI sẽ giúp bạn mau chóng quản lý bài viết 1 cách thông minh. Nó có cảm giác chẳ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 mọi thứ 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 phải 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 tỉ 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 1 bài viết bạn muốn.

 $ wp comment generate --count=3 --post_>   

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 nên 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 thuộc tính giới thiệu qua về kiểu cách dùng lệnh WP-CLI. Bạn có thể tìm biết 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 khỏe 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 đặc biệt là trong trường hợp bạn bị mất quyền truy cập vào quản trị, thật đơn giản để 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!

Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của TopVn trên Twitter và Facebook

Bài viết WP-CLI Căn bản được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang