WP-CLI:初學者指南

已發表: 2021-02-02

任何不熟悉 WordPress 的人都會很容易被其界面的複雜性所淹沒。 畢竟,作為 39.9% 的網站使用的 CMS,它需要非常豐富的功能。 通常需要數週時間和大量咖啡因來了解圖形用戶界面 (GUI) 的來龍去脈。 儘管了解 WordPress GUI 是一項需求量很大的技能,但這只是成為真正大師的一部分!

最容易想到 WordPress,就像您想到 Windows、Linux 和 Mac 等操作系統一樣。 雖然您可以只使用頂層並保留它,但您只會使用它的一小部分功能。 如果您以前為 Linux 編寫過腳本,我想為這次創傷道歉。 但是,您可以放心,WP-CLI 更加簡單易學。

這種知識在如此高的市場需求中的原因是因為許多人認為它是不可能學習的。 甚至動詞“腳本”聽起來也很嚇人! 事實上,這是網上賺錢最簡單的方法之一。 如果您已經是 WordPress 管理員,它可以大大縮短您花在做平凡任務上的時間。

事不宜遲,讓我們深入探討如何利用 WordPress CLI 的強大功能!

什麼是 WP-CLI?

在您成為世界下一個頂級 WordPress CLI 開發人員之前,您需要知道它是什麼。 該名稱只是“WordPress”的首字母縮寫詞與“命令行界面”的舊首字母縮寫詞混合在一起。 CLI 是 GUI 的對立面; 一切都在所謂的“終端”中運行。

與您的 GUI 不同,您可以在其中單擊按鈕並直觀地檢查正在發生的事情,WP-CLI 的一切都發生在幕後。 儘管您可以運行對站點範圍具有強大影響的命令和腳本,但 CLI 本身通常不會提供太多反饋。 這就是為什麼在開始使用 WP-CLI 之前使用值得信賴的 WordPress 備份插件至關重要的原因。

輸入命令很容易,但清除錯誤的命令可能是另一回事。 正如諺語所說,破壞總是比創造容易! 此時,您可能想知道為什麼您甚至應該關心 WP-CLI。

許多人認為“他們甚至懶得為它製作 GUI,所以它不會太重要”。 事實上,它的強大之處在於它是基於文本的。 這使得自動化任務變得更加容易。 一旦你熟練了它,你可能會想知道為什麼你沒有早點切換!

WordPress 命令行解釋

那麼,WP-CLI 究竟是如何工作的呢? 簡而言之,它是 WordPress 的支柱。 每次單擊 CMS 中的任何內容時,實際上都是 WP-CLI 執行繁重的工作。 這是一個小型的多平台程序。 但是,由於絕大多數 Web 服務器都是 Linux,因此您很可能會通過 Linux 終端運行它。

從技術上講,您可以使用 WP-CLI 在新服務器上完成整個 WordPress 安裝。 您還可以創建作為命令序列的 .sh 文件。 這使您可以輕鬆地與 WordPress 世界的其他人分享您的作品。

WP-CLI 可以幫助管理員減少不必要的插件,這些插件可能會降低網站速度。 畢竟,絕大多數插件本質上都是一個樣式表和一個帶有一系列提示和命令的 .sh 文件。 稍後我們將詳細討論這些是如何工作的。

使用 WP-CLI 安裝主題

當然,使用 GUI 安裝主題很容易。 但是,如果時間很重要,單行命令也可以解決問題。 假設您的服務器上有一個名為“geocities”的主題。 您想將此主題應用於您剛剛創建的博客。 您需要做的就是輸入此命令並按 [Enter]:

wp theme install geocitites --activate

讓我們分解那條長命令。 首先,就像其他 Linux 程序一樣,第一個詞(“wp”)是告訴操作系統我們想要運行 WP-CLI。 由於 CLI 在分層基礎上工作,因此正在執行的命令類型緊跟在程序名稱之後。 當然,這個是和一個主題相關的,所以可以預見它只是“主題”。

在為名為“wp”的程序指定命令類別後,我們需要告訴它我們想要它做什麼。 在這種情況下,我們需要將主題安裝到服務器上。 這就是命令中的下一個單詞只是“安裝”的原因。 您需要知道服務器端主題名稱才能運行此命令; 這是由主題的開發人員設置的。 服務器端文件名通常與主題名稱相同。

您現在可能已經看到了利用這種層次結構的優勢。 它大大簡化了您需要做的打字量! 告訴它我們要安裝哪個主題後,我們可以添加參數。 在這種情況下,我們可以將命令保留為 wp theme install geocities。 這將剛剛將主題安裝到我們的服務器上。 但是,它實際上不會將該主題應用於任何事物。 “activate”參數就是這樣做的。

說到參數,除非您經常使用 Linux 或 Mac,否則您可能對它們有點不放心。 在繼續之前,讓我們快速復習一下。

Linux 參數、參數和運算符的快速入門

在您進入 WP-CLI 的世界之前,您需要了解 Linux 終端如何解釋命令和三個“操作符”。

除非您已經程序中輸入,否則 Linux 要求您輸入程序的“別名”。 這是存儲庫中“根包”的名稱,在這種情況下,它只是“wp”。 請記住,與 Windows 不同,Linux 中的單詞區分大小寫!

程序名稱後面的文本包含程序的“參數”。 這些參數可以是強制性的,也可以是可選的。 在我們的主題示例中,很明顯哪些參數是強制性的:“主題”參數,因為它告訴我們程序應該查看的一般區域和“安裝”參數,因為程序需要知道要採取什麼操作.

Linux 經常使用簡寫來表示錯誤,這就是為什麼大多數“參數”有兩種表達方式。 假設某個程序有一個“幫助”參數; 在 Linux 中,這幾乎普遍是命令中的“-h”。 幾乎總是有論證的全文版本。 這前面有兩個破折號,所以它會讀作:“-help”。

最後,您應該了解一些運算符。 就像在數學課中一樣,運算符顯示正在執行某些操作或計算。 到目前為止最常見的三個(並且您最有可能在查看其他人的 WordPress 腳本時遇到)是左括號、右括號和管道,即符號“|”。

因為左括號顯示為向右擴展,這意味著我們正在將數據從符號左側的任何內容寫入符號右側的任何內容。 同樣,當您看到右括號時,這意味著符號右側的項目正在從其左側的項目中讀取數據。

由於其簡單和高效,這種管道已經普遍使用了幾十年。 所有這些都是在管道左側運行程序,獲取它輸出的數據,並將該數據用作其右側程序的輸入。 例如,如果我們有 program1 | program2 我們會說我們想運行 program1,取出它吐出的任何東西,並在它執行時將它放入 program2。

如何訪問我的 WordPress 命令行?

在您成為 WP-CLI 的權威之前,您需要知道如何使用它。 確切的過程將取決於您使用的託管類型。

快速擱置

幾年前,我就使用 WP-CLI 運行您自己的託管 WordPress 主機進行了演講。 我包含了該演講中的視頻和一個鏈接,因此您可以使用一個示例 .sh 文件來運行和安裝 WordPress。

驗證系統要求

出於安全原因和性能目的,您需要確保您的系統滿足最低專用標準。 雖然 wp-cli.org 總是有最新的要求,但在撰寫本文時,以下是要求:

  • 至少 PHP 5.6+
  • 至少 WordPress 3.7+

在專用服務器或 VPS 上訪問 WP-CLI

當您租用專用服務器或 VPS 時,您將獲得管理控制權。 有一定數量的資源分配給您,您通常擁有如何使用它們的完整領域。

如果您使用的是 Windows

在大多數情況下,該程序的 Windows 版本與 Mac 或 Linux 版本有很大不同。 值得慶幸的是,您可以參考官方項目站點以獲取有關將其安裝到 Windows 機器上的詳細說明。 作為一般經驗法則,您應該盡量避免在任何“面向網絡”的設備上使用 Windows,因為它的嚴重漏洞在被利用會被發現這是眾所周知的。

如果您使用的是 Linux 或 Mac

由於 Mac 是基於 Unix(Linux 的父代),因此在兩者上安裝 WordPress CLI 的過程本質上是相同的。 以下是您需要執行的操作:

  1. 首先,下載軟件。 不同版本的 Unix 和 Linux 使用 wget 或 curl,所以如果一個在下一步中不起作用,請嘗試另一個。
  2. 我們需要放入服務器私有目錄中的文件名為 wp-cli.phar。 值得慶幸的是,創作者總是在同一個 GitHub URL 上擁有最新的穩定版本。 進入要下載文件的目錄後,運行此命令: curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar .
  3. 現在是讓程序運行的時候了。 chmod 命令更改文件的權限。 默認情況下,Unix 和 Linux 不會使下載的文件可執行,但此命令允許我們這樣做。 在同一目錄下,運行命令chmod +x wp-cli.phar。
  4. (抱歉,我們知道這有點麻煩)我們現在需要將其移動到主 WordPress 二進制目錄中。 這是 WordPress 點擊的所有小程序所在的地方。 mv 命令可以為我們做到這一點。 從包含文件的目錄開始,運行:mv wp-cli.phar /usr/local/bin/wp。
  5. 在這一點上,一切都應該順利進行。 有一個內置的測試機制可以讓我們驗證這一點。 在終端中,只需運行程序和“info”的全文參數。 這看起來像 wp –info。
  6. 確保您獲得一個屏幕,其中包含有關您新安裝的 WP-CLI 的多行內容。 那你就可以繼續了!

在共享主機上訪問 WP-CLI

不幸的是,在共享主機方面,幾乎有無數的變量需要考慮。 即使您被允許使用的 PHP 版本最終也取決於服務器的管理員。 如果它碰巧是基於 Windows 的共享主機,則需要設計某種方法來安裝它。

如果它在 Linux 或 Mac 服務器上,則歸結為您擁有的訪問類型。 許多共享主機都有一個您可以使用的“虛擬終端”。 這是實際操作系統級終端的受限版本。 它允許您執行管理員認為不會對其他用戶構成威脅的命令。 如果是這種情況,只需查看上面的部分並在您的虛擬終端中執行這些步驟。

您也可以訪問安裝程序。 大多數主機使用 cPanel 之類的東西為數百個不同的系統附加安裝程序。 這個想法是,這將導致更少的支持票,這將幫助他們更有效地運營。 如果您發現 CLI 可通過基於 GUI 主機的安裝程序進行安裝,那麼這是您的最佳選擇。

最後,如果它是 Linux 或 Mac 服務器,則沒有明顯的選項來安裝此軟件。 只需向您的主機提供支持票,並要求將其添加到應用程序列表中。 主持人通常希望迎合盡可能多的觀眾,因此這將是雙贏的。

WP-CLI 命令

我們已經討論了很多關於如何啟動和運行程序的問題,但我們很少討論如何有效地使用它。 如果您有編程經驗,這是一個類似的過程。 當您完成教程並學習更多命令和快捷方式時,您將自動記住對您個人而言最重要的那些。

請記住,要在現實世界中使用,在使用服務器之前,您始終需要安裝一個不錯的 WordPress 安全插件。 您最不希望發生的事情是您的數據被洩露,因為您錯誤地輸入了一個按鍵並且除了重新開始之外沒有辦法修復它!

雖然可以一次輸入單個命令,但這是一種非常低效的方法。 使用一系列 WordPress 命令創建 .sh 文件要好得多; 這就是您如何在幾秒鐘內完成在 GUI 中可能需要 30 分鐘完成的工作。

在我們將很快完成的教程中,我們將從頭開始製作一個腳本,用於製作全新的 WordPress 服務器,包括預定義的配置。 不幸的是,我們可能會花一整年的時間來研究最後一個命令及其工作原理。 由於其龐大的用戶群,WP-CLI 有相當不錯的文檔。

具體來說,他們有一本手冊。 這是一份冗長的文件,需要耐心。 但是,它幾乎涵蓋了每個命令、它的作用、重要性等等。 該出版物還介紹瞭如何組合各種命令來創建自己的腳本。

從那裡,可能性是無限的。

更新 WP-CLI

想要獲取最新版本的 WordPress CLI? 這是一個好主意,因為您永遠不知道惡意的安全研究人員何時在舊版本中發現了漏洞!

當您更新軟件時,它會根據 WordPress 發布的版本檢查您的當前版本。 與許多 Linux 應用程序不同,開發人員創建了一個非常簡單的單行程序,您可以在終端中輸入以確保您運行的是最新版本。 最重要的是,它不會干擾您當前的網站。

請記住,這種“簡單更新”方法只有在您通過獲取我們之前提到的 wp-cli.phar 文件進行安裝時才有效。 一些教程引用了替代安裝方法,例如使用 Docker 等。如果您是這樣安裝它的,您將需要跳過我們在此頁面上無法容納的更多圈子來更新。

以下是在一分鐘內更新的步驟:

  1. 打開您最初安裝軟件時使用的終端。
  2. 確定您願意接受的風險級別。 “每晚”版本將擁有所有最新功能,但它可能不穩定。 我們建議獲取“穩定”版本。
  3. 輸入命令 wp cli update。 默認情況下,這將獲取最新的穩定版本。
  4. 如果您正在尋找夜間構建,只需運行命令 wp cli update –nightly。

有很多方法可以使更新過程成為您自己的。 例如,如果您不想查看確認對話框,則不必這樣做。 您只需要添加 –yes 參數來強制回答“是”到每個對話框。

無論您是否剛剛開始,查看完整的參數頁面並在測試服務器上進行修補都是一個好主意。

WP-CLI 教程

既然我們已經介紹了先決條件,讓我們試一試 WordPress CLI! WordPress 管理員的一項常見任務是創建新站點。 通過 GUI 嚮導是一種選擇,但最簡單的方法是使用 WP-CLI。

想像一下,您需要使用幾乎相同的設置創建十個不同的博客。 當然,如果您想在任務上花費數小時,您可以手動執行此操作。 您還可以創建一個可重用的腳本,然後為每個站點簡單地運行它! 我們將製作我們自己的 CLI 腳本。 我們建議您輸入每個命令,而不是複制和粘貼。 確保將其放在 .sh 文件中,以便以後可以輕鬆運行。

  1. 打開您最喜歡的原始文本編輯器。 不建議將 Windows 上的記事本用於此目的。 您可以嘗試的兩個很棒的工具是 GitHub 的 Atom 和開源的 Notepad++。 兩者都是多平台的。
  2. 將文件保存為具有“.sh”擴展名的任何名稱。 例如,top-wordpress-dev-in-the-world.sh 可以工作。
  3. 在我們輸入任何內容之前,您應該打開完整的命令列表。 隨意偏離我們的腳本,在進行過程中製作自己的自定義腳本。
  4. 前幾行使用核心類別。 首先,我們需要下載 wp core 來獲取最新版本。
  5. 接下來,我們需要輸入我們的數據庫憑據。 當然,你需要使用更安全的,但這裡有一個例子: wp core config –dbname=customdbname –dbuser=admin –dbpass=password –dbhost=localhost –dbprefix=customprefix_ –extra-php‹‹PHP
  6. 在該行中,我們實際上創建了一個包含所有數據的 wp-config 文件。 –extra-php ‹‹PHP 是最終確定該文件的內容。
  7. 那個‹‹PHP 還允許我們放入一些PHP 變量。如果我們希望以後有日誌進行調試,我們將需要這些變量。 添加這一行:define('WP_DEBUG', true);,後跟define('WP_DEBUG_LOG', true);。 在下一行,只需放置 PHP 以表明我們已完成手動編寫 PHP 代碼。
  8. 我們確實製作了 wp-config.php,但是還需要添加一行來激活我們的數據庫:wp db create。
  9. 剩下的唯一一行是完成整個 WordPress 安裝的那一行! wp core install –url=http://yoursite.com –title=MainWPTitle –admin_user=username –admin_password=password –[email protected] 當然,您需要更改其中一些參數值。 除此之外,我們剛剛製作了一個腳本來生成新的 WordPress 網站!

使用 WP-CLI 和插件

插件管理可能不是你最喜歡的東西,但它是必要的。 我們可以使用 CLI 使插件管理變得更加容易和快捷。

到目前為止,最有用的功能是批量插件安裝。 您首先需要收集要安裝的插件的名稱。 這些可以在官方 WordPress URL 中找到。 假設您想要 jetpack 插件。 因為此的官方商店 URL 是 https://wordpress.org/plugins/jetpack/,我們取該 URL 的最後一部分 (jetpack)。

命令 wp plugin install 可以使用無限數量的插件名稱。 這意味著您可以在幾秒鐘內獲取 10 個插件,而無需手動搜索和安裝每個插件!