Wordpress

Giới thiệu về WP-CLI

Giới thiệu về WP-CLI, cách cài đặt và ứng dụng của nó

WP-CLI là gì?
WP-CLI là công cụ giúp bạn có thể quản trị WordPress qua giao diện dòng lệnh. Bạn có thể thực thi một số hàm, như là cài đặt plugins, cũng như lệnh không được hỗ trợ trong WordPress back-end. Ưu điểm lớn nhất của WP-CLI là thời gian bạn tiết kiệm khi sử dụng, cấu hình và vận hành WordPress website. Nếu bạn có nhiều site, không cần phải đăng nhập vào từng cái để làm những tác vụ cơ bạn, commands WP-CLI có thể tự động hóa.

Cài đặt WP-CLI
Bước 1:
cần tải file wp-cli.phar bằng wget hoặc curl
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
có thể download trực tiếp bằng link
https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Bước 2:
Mở command line cd đến folder đã lưu file wp-cli.phar
check đã hoạt động chưa bằng câu lệnh
php wp-cli.phar --info

Bước 3
Để rút gọn cách dùng thành wp thì có thể làm như sau:
Đối với HĐH Linux

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

check hoạt động bằng câu lệnh
wp --info

Đối với Window
Tạo ra 1 folder tên wp-cli ở bất kì đâu bạn muốn.
ví dụ : C:\wp-cli\
Đặt file wp-cli.phar đã download ở bước 1 vào folder này.
Tạo ra 1 file wp.bat có nội dung như sau

@ECHO OFF
php "C:\wp-cli\wp-cli.phar" %*

Mở “System Environment” and set C:\wp-cli vào path như ảnh dưới.

Bước 5
Mở command line và xem thành quả bằng cách gõ
wp

Hiểu về WP-CLI Commands
WP-CLI là một công cụ dễ dùng nếu bạn đã quen với môi trường dòng lệnh. Bạn có thể quản trị blog qua dòng lệnh, nhanh hơn nhiều so với việc vào trang quản trị và phải click vào nhiều tùy chọn. Bạn có cơ hội tạo scripts command dùng cho các processes được sắp xếp hợp lý.

WP-CLI có sẵn một vài lệnh được tích hợp. Đây là danh sách các lệnh có sẵn của WP-CLI có thể được mở rộng qua plugins hỗ trợ WP-CLI, các plugins có commands có thể xem tại đây. Hãy xem qua một vài lệnh cơ bản WP-CLI:

Lệnh xem phiên bản WP-CLI:
wp --info

Lệnh Help
wp help

Để thoát giao diện WP-CLI, nhấn nút Q trên bàn phím.

Bạn có thể xem hướng dẫn cho từng lệnh riêng biệt. Ví dụ, nếu bạn muốn biết về lệnh comment, gõ lệnh:
wp help comment

WP-CLI Commands Cheat Sheet
Nếu đây là lần đầu bạn sử dụng WP-CLI, cheat sheet này hữu dụng cho bạn. Nó có đầy đủ tất cả các lện chính thức của WP-CLI, đi kèm ví dụ và biến global WP-CLI.
https://github.com/maheshwaghmare/wp-cli-commands-cheat-sheet

Sử dụng WP-CLI để cài đặt WordPress
Bạn có thể cài đặt WordPresss chỉ qua WP-CLI commands. Tuy nhiên, bạn cần phải tạo database cho blog của bạn trước khi tiến hành.

Tải file cài đặt WordPress:
Khi MySQL database sẵn sàng, bạn có thể tiến hành cài WordPress. Đầu tiên, bạn tải bản cài đặt mới nhất của WordPress bằng lệnh:
wp core download
Khi hoàn tất download, hãy truy cập website của bạn. Bạn có thể thấy form cài đặt WordPress. Tất nhiên, bạn có thể tiếp tục và điền các thông tin cần thiết qua trình duyệt. Nhưng vì đã cài WP-CLI, dùng lệnh sẽ dễ hơn.

Bạn sẽ cần dùng lệnh wp core để thêm thông tin đăng nhập của MySQL database vào WordPress:
wp core config --dbname=wordpress --dbuser=user --dbpass=password --dbhost=localhost --dbprefix=wp_

  • dbname – MySQL database name.
  • dbuser – MySQL database username.
  • dbpass – MySQL user password.
  • dbhost – MySQL server hostname.
  • dbprefix – MySQL database table prefix. Bạn có thể để là wp_.

Như bạn thấy, thông tin đăng nhập MySQL có thể được chuyển biến qua wp core config. Nếu bạn điền thông tin MySQL đúng, WP-CLI sẽ tạo ra file wp-config.php:
Kết quả:
Success: Generated 'wp-config.php' file.
Bây giờ, nếu bạn truy cập WordPress site lần nữa, bạn sẽ thấy cần điền thêm một vài thông tin cần thiết nữa.
Chúng ta cũng dùng lệnh wp core để thêm các thông tin này:
wp core install --url="yourdomain.com" --title="Site Title" --admin_user="admin_username" --admin_password="admin_password" --admin_email="your@email.com"

Kết quả:
Success: WordPress installed successfully.

Quay trở lại trình duyệt và xem thành quả !

Sử dụng WP-CLI để cài đặt và quản lý WordPress Themes
Trong mục này, bạn sẽ học cách sử dụng WP-CLI để cài đặt WordPress themes. Hãy bắt đầu bằng cách liệt kê các theme có sẵn:
wp theme list
Kết quả:

+-----------------+----------+--------+---------+
| name | status | update | version |
+-----------------+----------+--------+---------+
| twentyfifteen | inactive | none | 1.7 |
| twentyseventeen | active | none | 1.1 |
| twentysixteen | inactive | none | 1.3 |
+-----------------+----------+--------+---------+

Như thông báo, bạn có thể thấy theme đang hoạt động là twentyseventeen. Ví dụ bạn muốn kích hoạt twentyfifteen:
wp theme activate twentyfifteen
Kết quả:
Success: Switched to 'Twenty Fifteen' theme.

Bạn có thể sử dụng WP-CLI để tìm theme mới trong thư mục theme của WordPress. Hãy tìm một theme với bootstrap:
wp theme search bootstrap
Kết quả:
Success: Showing 10 of 292 themes.
+---------------------+---------------------+--------+
| name | slug | rating |
+---------------------+---------------------+--------+
| edsBootstrap | edsbootstrap | 100 |
| Bootstrap Basic4 | bootstrap-basic4 | 0 |
| ultrabootstrap | ultrabootstrap | 100 |
| Bootstrap Four | bootstrap-four | 80 |
| Simple Bootstrap | simple-bootstrap | 60 |
| Bootstrap Canvas WP | bootstrap-canvas-wp | 92 |
| Flat Bootstrap | flat-bootstrap | 100 |
| Bootstrap Basic | bootstrap-basic | 100 |
| DevDmBootstrap3 | devdmbootstrap3 | 100 |
| Arouse | arouse | 0 |
+---------------------+---------------------+--------+

Không có gì nhiều để xem vì bạn chỉ thấy tên, tuy nhiên ultrabootstrap được đánh giá tới 100. Để cài đặt và kích hoạt theme, hãy dùng:
wp theme install ultrabootstrap --activate

Sử dụng WP-CLI để cài đặt và quản lý WordPress Plugins

Như themes, plugins cũng có thể cài và quản lý bằng cách dùng WP-CLI. Để liệt kê danh sách các plugin được cài, hãy dùng:
wp plugins list
Kết quả:
+---------+----------+--------+---------+
| name | status | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none | 3.3 |
| hello | inactive | none | 1.6 |
+---------+----------+--------+---------+

Như bạn thấy, chúng ta không có nhiều plugins. Hãy cài một vài plugins bằng lệnh.

Đầu tiên, tìm plugin contact form 7 :
wp plugin search "contact form 7"
Kết quả:

Success: Showing 10 of 2514 plugins.
+--------------------------------------+---------------------------+--------+
| name | slug | rating |
+--------------------------------------+---------------------------+--------+
| Contact Form 7 | contact-form-7 | 92 |
| Contact Bank - Contact Forms Builder | contact-bank | 86 |
| Contact Form | contact-forms-builder | 90 |
| Contact Form | contact-form-ready | 96 |
| Contact Form | contact-form-add | 76 |
| Contact Form | powr-contact-form | 100 |
| Contact Form | better-contact-form | 100 |
| Contact Form | contact-form-master | 96 |
| Contact Form | contact-form-maker | 88 |
| Contact Form by Supsystic | contact-form-by-supsystic | 92 |
+--------------------------------------+---------------------------+--------+

Contact Form 7 là đứng đầu. Chúng ta sẽ cài và kích hoạt nó vì nó là một form liên hệ nhẹ:
wp plugin install contact-form-7 --activate

Cũng như themes, plugins có thể được cài qua zip archive và URL.
Để xóa đổi install thành delete:
wp plugin delete contact-form-7
Kết quả:
Deleted 'contact-form-7' plugin.
Success: Deleted 1 of 1 plugins.

Sử dụng WP-CLI để cập nhật WordPress
Cập nhật WordPress với WP-CLI là một quá trình 2 bước, vì bạn cần cập nhật file WordPress và database để hoàn thành quá trình này.
Bắt đầu bằng cách cập nhật file gốc của WordPress:
wp core update

Chạy command sau để kiểm tra và nếu cần thiết cập nhật database tới phiên bản được yêu cầu:
wp core update-db
Kết quả:
Success: WordPress database already at latest db version 38590.
Để cập nhật themes và plugins của WordPress với WPI-CLI, đổi core sang theme hoặc plugin. Biến –all để cập nhất tất cả themes/plugins được cài đặt, nhưng bạn có thể cập nhật từng theme/plugin riêng:
Cho themes:
wp theme update --all
Cho plugins:
wp plugin update --all

Sử dụng WP-CLI để quản lý nội dung
Posts
WP-CLI cung cấp nhiều cách để quản lý nội dung qua dòng lệnh. Vâng, có thể không thuận tiện để viết bài và quản lý qua dòng lệnh. Nhưng vì lý do hiểu thêm, bạn có thể làm việc này qua WP-CLI.
Để xem tất cả các bài post, có thể dùng lệnh:
wp post list
Để xóa
wp post delete 1
Để khởi tạo bài post mới, gõ:
wp post create --post_status=publish --post_title="This Post Was Created With WP-CLI" --edit

Bạn cũng có thể tạo một bài viết mới và nhập nội dung trực tiếp từ file .txt:
wp post create ./post.txt --post_title='Sample Post' --post_status=publish

Ngoài việc viết bài, với WP-CLI, bạn cũng có thể tạo ra chúng dễ dàng. Tính năng này hữu dụng nếu bạn muốn kiểm tra xem WordPress site sẽ hoạt động như thế nào với nhiều bài viết. Để tạo 50 bài, hãy thử:
wp post generate --count=50

Media
Với WP-CLI bạn có thể tự động tạo ảnh với process import. Ví dụ bạn muốn import tất cả các hình từ thư mục images_for_site. Bạn có thể dùng lệnh sau:
wp media import images_for_site/*

Sử dụng WP-CLI để Export/Import WordPress
Với WP-CLI bạn có thể dễ dàng export và import nội dung từ một website WordPress này sang một web khác. Lệnh sau sẽ export các bài posts, terms, authors, comments, và attachments tới một file XML:
wp export

Ví dụ bạn muốn import từ một file XML tới trang WordPress khác. Đầu tiên, bạn cần cài đặt plugin wp-importer:
wp plugin install wordpress-importer --activate
Khi cài đặt hoàn thành, bạn có thể tiến hành import. Chúng ta sẽ tạo một tác giả bằng biến –authors:
wp import amagata.wordpress.2017-03-16.000.xml --authors=create

Sử dụng WP-CLI để quản lý Database
Bạn có thể chạy SQL queries thông thường với lệnh wp db query. Ví dụ, để thấy tất cả các user WordPress được đăng ký, hãy dùng:
wp db query "SELECT user_login,ID FROM wp_users;"
Kết quả:
+------------+----+
| user_login | ID |
+------------+----+
| user | 1 |
+------------+----+

Bạn có thể chạy một số thao tác hữu dụng khác như export. Nó sẽ tạo một file SQL dump của database WordPress:
wp db export

Để import một file SQL vào trong WordPress database, hãy dùng lệnh:
wp db import file.sql

Sử dụng WP-CLI để tìm kiếm và thay thế
Nếu bạn đã từng chuyển WordPress từ máy cá nhân hoặc staging server sang hosting thông thường, bạn sẽ thấy tìm kiếm và thay thế hữu dụng như thế nào. Dĩ nhiên, nó có thể làm qua SQL query hoặc plugin, nhưng với WP-CLI, việc này có thể thực hiện với chỉ một command. Ví dụ bạn muốn thay đổi tên miền từ localhost sang server và chúng ta cần cập nhật tất cả URLs trong WordPress database.

Bạn hãy chạy thử ‘dry-run’ trước khi thực sự dùng lệnh tìm kiếm và thay thế. Nó sẽ cho bạn biết có bao nhiêu trường hợp cần thay đổi:
wp search-replace --dry-run 'localhost.com' 'server.net'

Bây giờ, để tiến hành thực hiện tìm kiếm và thay thế với WP-CLI, xóa trường –dry-run :
wp search-replace 'localhost.com' 'server.net'

Sử dụng WP-CLI để Export POT file
.pot file để bạn có thể generate ra các file dịch dùng trong trường hơp website của bạn cần đa ngôn ngữ. WP-CLI sẽ scan folder và tạo ra file pot có chứa text cần dịch nếu bạn viết chuẩn i18n
Để tạo ra file .pot cần dùng lệnh :
wp i18n make-pot wp-content/plugins/my-plugin-dir

Mặc định WP-CLI sẽ tạo file POT vào languages/plugin-name.pot. Nếu bạn muốn đặt ở vị trí khác, bạn có thể thêm option sau đường dẫn:
wp i18n make-pot wp-content/plugins/my-plugin-dir destination/plugin-name.pot

Nếu bạn chỉ muốn dịch thêm folder hoặc file thì hãy dùng –include option, chỉ những file sẽ được thêm vào file POT của bạn.
wp i18n make-pot . --include"only/scan/this/dir,and/this/file.php"
file có cùng prefix name:
wp i18n make-pot . --include"included-*.php"

Còn nếu không muốn dịch thì sao ?
hãy dùng –exclude option :
wp i18n make-pot . --exclude="ignored-dir,ignored-file.php"
file có cùng prefix name:
wp i18n make-pot . --exclude="ignored-*.php"

Bỏ qua Javascript
WP-CLI có thể tìm kiếm thông qua cả tệp PHP và JavaScript để tìm chuỗi dịch khi tạo tệp POT. Đây là một tính năng tuyệt vời, nhưng đôi khi có thể cản trở nếu JavaScript của bạn đang được xử lý thông qua một tập lệnh xây dựng (typescript).
Để bỏ qua các tệp JavaScript khi tạo tệp POT, chỉ cần sử dụng tùy chọn –skip-js như sau :
wp i18n make-pot wp-content/plugins/my-plugin-dir --skip-js

Kết luận
Ngoài những lệnh cơ bản này, WP-CLI có thể được mở rộng bằng cách lệnh của bên thứ ba. Làm việc với WordPress sẽ tiện hơn nếu không cần click chuột qua mỗi section trong trang quản trị của admin. Nếu bạn đã từng làm việc với nhiều site WordPress, việc này sẽ giúp tăng năng xuất. Bài hướng dẫn này sẽ cho bạn nền tảng để xử lý hầu hết các tác vụ và hàm của WP-CLI.