著者は、 Free Software Foundation を選択して、 Write forDOnationsプログラムの一環として寄付を受け取りました。

序章

WP-CLI は、WordPressの開発および管理タスク用のコマンドラインツールです。 ダッシュボードにログインしてページをナビゲートしなくても、WordPressWebサイトを管理するために使用できるいくつかのコマンドを提供します。

WP-CLIを使用して、従来のインターフェイスプロセスでWordPressのインストールを管理すると、ワークフローをスピードアップできます。 Webサイトの多くの側面で、BashスクリプトでWP-CLIを使用して、面倒なタスクや実行に時間がかかるタスクを自動化することもできます。

このチュートリアルでは、WP-CLIの多くの機能を使用して、ワークフローにどのように適合するかを説明します。 プラグインとテーマの管理、コンテンツの作成、データベースの操作、WordPressの更新などの一般的な操作について説明します。 WP-CLIの機能は、このチュートリアルを超えています。 ただし、このチュートリアルからスキルを転送して、他のWP-CLI機能のより一般的なオプションを操作することができます。

前提条件

このチュートリアルに従うには、安全なWordPressのインストールが必要です。 WordPressをセットアップする必要がある場合は、選択したサーバーディストリビューションについて次のチュートリアルに従うことができます。

注:既存のセットアップがない場合は WP-CLI を使用してWordPressをインストールすることもできますが、この記事ではその側面については説明しません。

ステップ1—WP-CLIのインストール

この手順では、最新バージョンのWP-CLIツールをサーバーにインストールします。 このツールは、 Pharファイルにパッケージ化されています。これは、アプリのデプロイと配布を便利にするPHPアプリケーションのパッケージ形式です。

WP-CLIのPharファイルは次の方法でダウンロードできます。 curl:

  1. curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

ファイルをダウンロードしたら、次のコマンドを実行して、ファイルが機能していることを確認します。

  1. php wp-cli.phar --info

次の出力が表示されます。

Output
OS: Linux 5.4.0-51-generic #56-Ubuntu SMP Mon Oct 5 14:28:49 UTC 2020 x86_64 Shell: /bin/bash PHP binary: /usr/bin/php7.4 PHP version: 7.4.3 php.ini used: /etc/php/7.4/cli/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/ayo WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0

次に、次のコマンドを使用してファイルを実行可能にします。

  1. chmod +x wp-cli.phar

この時点で、を実行できます wp-cli.phar WP-CLIツールにアクセスするために直接ファイルします。 システム上でグローバルに利用できるようにするには、次の場所に移動します /usr/local/bin/ ディレクトリに名前を変更します wp. これにより、次のように入力することで、任意のディレクトリからWP-CLIにアクセスできるようになります。 wp プロンプトの開始時のコマンド:

  1. sudo mv wp-cli.phar /usr/local/bin/wp

これで、次のコマンドを発行して、インストールされているWP-CLIのバージョンを確認できます。

  1. wp cli version
Output
WP-CLI 2.4.0

この手順では、サーバーにWP-CLIをインストールしました。 ドキュメントで代替インストール方法を確認できます。 以降のセクションでは、WP-CLIインターフェイスを介して実行できるタスクについて説明します。

ステップ2—WordPressプラグインの設定

管理者ユーザーインターフェイスを介してWordPressプラグインをインストールして管理するのは面倒な場合があります。 このようなタスクをWP-CLIにオフロードして、プロセスを大幅に高速化することができます。 このセクションでは、コマンドラインを使用してWordPressサイトにプラグインをインストール、更新、および削除する方法を学習します。

続行する前に、WordPressインストールのディレクトリにいることを確認してください。

  1. cd /var/www/wordpress

強調表示されたディレクトリ名を、WordPressのインストールを含むディレクトリに変更することを忘れないでください。 前提条件のチュートリアルに従った場合、これはドメイン名である可能性があります。

現在のプラグインの一覧表示

次のコマンドを使用して、WordPressサイトに現在インストールされているプラグインを一覧表示できます。

  1. wp plugin list

プラグイン名のリストが、ステータス、バージョン、および利用可能なアップデートの表示とともに表示されます。

Output
+---------+----------+-----------+---------+ | name | status | update | version | +---------+----------+-----------+---------+ | akismet | inactive | available | 4.1.7 | | hello | inactive | none | 1.7.2 | +---------+----------+-----------+---------+

プラグインの検索

WordPressプラグインリポジトリページの検索バーからプラグインを検索するか、次のコマンドを使用してすばやくアクセスできます。

  1. wp plugin search seo

このコマンドを実行すると、検索語に一致する上位10個のプラグインのリストが表示されます(2021年初頭現在)。 の期待される出力 seo クエリは次のとおりです。

Output
Success: Showing 10 of 4278 plugins. +------------------------------------------------------------+---------------------+--------+ | name | slug | rating | +------------------------------------------------------------+---------------------+--------+ | Yoast SEO | wordpress-seo | 98 | | All in One SEO | all-in-one-seo-pack | 92 | | Rank Math – SEO Plugin for WordPress | seo-by-rank-math | 98 | | The SEO Framework | autodescription | 98 | | SEOPress, on-site SEO | wp-seopress | 98 | | Slim SEO – Fast & Automated WordPress SEO Plugin | slim-seo | 92 | | W3 Total Cache | w3-total-cache | 88 | | LiteSpeed Cache | litespeed-cache | 98 | | SEO 2021 by Squirrly (Smart Strategy) | squirrly-seo | 92 | | WP-Optimize – Clean, Compress, Cache. | wp-optimize | 96 | +------------------------------------------------------------+---------------------+--------+

次のページに移動するには、 --page 国旗:

  1. wp plugin search seo --page=2

の値に注意してください slug 桁。 この値を使用して、コマンドラインでプラグインをインストールまたは更新します。

プラグインのインストール

を使用して1つ以上のプラグインをインストールできます wp plugin install 指図。 インストールするプラグインの名前が見つかります( slug 列)そしてそれを引数としてに渡します wp plugin install. プラグインの名前は、プラグインページのURLにもあります。

  1. wp plugin install jetpack wordpress-seo gutenberg

出力は、各プラグインのインストールの進行状況と完了を示します。

Output
Installing Jetpack – WP Security, Backup, Speed, & Growth (9.3.1) Downloading installation package from https://downloads.wordpress.org/plugin/jetpack.9.3.1.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Installing Yoast SEO (15.6.2) Downloading installation package from https://downloads.wordpress.org/plugin/wordpress-seo.15.6.2.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Installing Gutenberg (9.8.1) Downloading installation package from https://downloads.wordpress.org/plugin/gutenberg.9.8.1.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 3 of 3 plugins.

あなたは実行することができます wp plugin list プラグインが正常にインストールされたことを確認するために、もう一度コマンドを実行します。

Output
+---------------+----------+-----------+---------+ | name | status | update | version | +---------------+----------+-----------+---------+ | akismet | inactive | available | 4.1.7 | | gutenberg | inactive | none | 9.8.1 | | hello | inactive | none | 1.7.2 | | jetpack | inactive | none | 9.3.1 | | wordpress-seo | inactive | none | 15.6.2 | +---------------+----------+-----------+---------+

WordPressプラグインリポジトリ以外のリモートソースからプラグインをインストールする場合は、zipファイルのURLを引数としてに渡すことができます。 wp plugin install. これは、カスタムまたはプレミアムプラグインのインストールに役立ちます。 たとえば、次のコマンドは myplugin.zip でホストされているファイル example.com. コマンドを実行する前に、強調表示されたURLをプラグインのzipファイルへのリンクに置き換えてください。

  1. wp plugin install https://example.com/wp-content/uploads/myplugin.zip

古いバージョンのプラグインをWordPressリポジトリにインストールするには、 --version 国旗:

  1. wp plugin install jetpack --version=8.0

プラグインのアクティブ化と非アクティブ化

プラグインを一度にインストールしてアクティブ化するには、 --activate フラグを立てる wp plugin install:

  1. wp plugin install redirection --activate
Output
Installing Redirection (5.0) Downloading installation package from https://downloads.wordpress.org/plugin/redirection.zip... Using cached file '/home/ayo/.wp-cli/cache/plugin/redirection-5.0.zip'... Unpacking the package... Installing the plugin... Plugin installed successfully. Activating 'redirection'... Warning: Plugin 'redirection' is already active. Success: Installed 1 of 1 plugins.

1つ以上のプラグインをアクティブ化または非アクティブ化するには、 wp plugin activatewp plugin deactivate それぞれコマンド:

  1. wp plugin activate jetpack gutenberg
  2. wp plugin deactivate jetpack gutenberg

または、 --all フラグを立てて、すべてのプラグインを一度にアクティブ化または非アクティブ化します。 これは、WordPressのインストールで問題をデバッグする場合に役立ちます。

  1. wp plugin activate --all
  2. wp plugin deactivate --all

プラグインの更新

プラグインは、 wp plugin update 指図。 プラグインのセットを更新するか、プラグインのすべてを一度に更新するかを選択できます。 --all 国旗。 たとえば、 akismet プラグインの場合、次のコマンドを実行できます。

  1. wp plugin update akismet

次のような出力が表示されます。

Output
Enabling Maintenance mode... Downloading update from https://downloads.wordpress.org/plugin/akismet.4.1.8.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully. Disabling Maintenance mode... +---------+-------------+-------------+---------+ | name | old_version | new_version | status | +---------+-------------+-------------+---------+ | akismet | 4.1.7 | 4.1.8 | Updated | +---------+-------------+-------------+---------+ Success: Updated 1 of 1 plugins.

プラグインの削除

WordPressプラグインを削除するには、 wp plugin delete 指図。 次のように、削除する1つ以上のプラグインを指定できます。

  1. wp plugin delete redirection

出力は削除を確認します:

Output
Deleted 'redirection' plugin. Success: Deleted 1 of 1 plugins.

インストールされているすべてのプラグインを一度に削除することもできます。 --all プラグイン名を次々に指定する代わりにフラグを立てます。

  1. wp plugin delete --all

このステップでは、WP-CLIを使用してWordPressWebサイトのプラグインを管理しました。 管理ダッシュボードをクリックするよりも、アクションを実行する方がはるかに高速です。 次のセクションでは、WP-CLIを利用してWordPressテーマをインストールおよび管理します。

ステップ3—テーマの構成

WP-CLIを使用してテーマを管理するプロセスは、プラグインを管理するために使用できる方法とほぼ同じです。 このセクションでは、WordPress Webサイトから新しいテーマを入手し、適用します。 wp theme サブコマンド。

まず、現在Webサイトにインストールしているテーマを確認します。

  1. wp theme list

インストールされているテーマのリストが表示されます。

Output
+-----------------+----------+-----------+---------+ | name | status | update | version | +-----------------+----------+-----------+---------+ | twentynineteen | inactive | available | 1.8 | | twentytwenty | inactive | none | 1.6 | | twentytwentyone | active | available | 1.0 | +-----------------+----------+-----------+---------+

現在インストールされているテーマは3つあり、アクティブなテーマは twentytwentyone. より多くの機能を備えたものを見つけたい場合は、次のような検索を試すことができます。

  1. wp theme search color

出力は、一致する832のテーマがあることを示しています color 検索語:

Output
Success: Showing 10 of 832 themes. +---------------------+---------------------+--------+ | name | slug | rating | +---------------------+---------------------+--------+ | Color | color | 0 | | All Colors | all-colors | 100 | | Color Blog | color-blog | 98 | | Color Block | color-block | 0 | | X Blog color | x-blog-color | 0 | | Multicolor Business | multicolor-business | 0 | | ColorNews | colornews | 100 | | Colorist | colorist | 100 | | ColorMag | colormag | 98 | | MultiColors | multicolors | 74 | +---------------------+---------------------+--------+

を使用して結果をページングできます --page 国旗。 この例では、先に進んでインストールします ColorMag それはかなり良い評価を持っているので、テーマ。 The --activate フラグはテーマをすぐにアクティブにします:

  1. wp theme install colormag --activate

出力はインストールを確認します:

Output
Installing ColorMag (2.0.4) Downloading installation package from https://downloads.wordpress.org/theme/colormag.2.0.4.zip... Unpacking the package... Installing the theme... Theme installed successfully. Activating 'colormag'... Success: Switched to 'ColorMag' theme. Success: Installed 1 of 1 themes.

Webサイトにアクセスすると、ColorMagテーマが正常に適用されていることがわかります。

からの出力 wp theme list コマンドは、両方で利用可能なアップデートがあることに注意します twentynineteentwentytwentyone テーマ。 次のコマンドを使用して、両方を更新できます。

  1. wp theme update --all

次のような出力が表示されます。

Output
Downloading update from https://downloads.wordpress.org/theme/twentynineteen.1.9.zip... Unpacking the update... Installing the latest version... Removing the old version of the theme... Theme updated successfully. Downloading update from https://downloads.wordpress.org/theme/twentytwentyone.1.1.zip... Unpacking the update... Installing the latest version... Removing the old version of the theme... Theme updated successfully. +-----------------+-------------+-------------+---------+ | name | old_version | new_version | status | +-----------------+-------------+-------------+---------+ | twentynineteen | 1.8 | 1.9 | Updated | | twentytwentyone | 1.0 | 1.1 | Updated | +-----------------+-------------+-------------+---------+ Success: Updated 2 of 2 themes.

The wp theme commandは、テーマの詳細の取得、特定のテーマがインストールされているかどうかの確認、1つ以上のテーマの削除などのタスクを実行するのに役立つ多くのサブコマンドを提供します。 接頭辞を付けることで、すべてのオプションを調べることができます help サブコマンドの前、 wp help theme また wp help theme install.

WP-CLIを使用してテーマを管理できるようになったので、WordPressコンテンツを管理するためにツールが提供するオプションを確認します。

ステップ4—投稿とページを作成する

WP-CLIは、コマンドラインを介してコンテンツを管理するためのいくつかの方法を提供します。 nanovimなどのコマンドラインエディターに精通している場合は、ターミナルで投稿を作成する方が快適です。

次のサイトで投稿のリストを閲覧できます。

  1. wp post list

投稿のリストが届きます。

Output
+----+--------------+-------------+---------------------+-------------+ | ID | post_title | post_name | post_date | post_status | +----+--------------+-------------+---------------------+-------------+ | 1 | Hello world! | hello-world | 2021-01-24 12:32:06 | publish | +----+--------------+-------------+---------------------+-------------+

出力には、次のタイトルの公開された投稿が1つ表示されます。 Hello world! とのID 1. この投稿を削除するには、 wp post delete コマンドを実行し、投稿IDを渡します。

  1. wp post delete 1

出力により、投稿の削除が確認されます。

Output
Success: Trashed post 1.

新しい投稿を作成するには、次のコマンドを実行します。

  1. wp post create --post_status=publish --post_title="Sample post created with WP-CLI" --edit

このコマンドは、 --post_status 投稿のステータスを設定するフラグ。 に設定する publish コマンドを実行した直後に投稿が公開されるようにします。 代わりにドラフトを作成する場合は、 --post_status フラグを立てる draft. The --post_title フラグは、投稿のタイトルを指定する方法です。 --edit 投稿本文をデフォルトのシステムエディター(vim)で開きます。 と組み合わせて使用できる他のフラグを見つけることができます create 次のように入力してサブコマンド wp help post create あなたのターミナルで。

vimエディターが開いたら、を押します i キーを押してINSERTモードに入り、投稿の内容をエディターに入力します。 投稿の編集が完了したら、を押してvimエディターを終了します。 ESC ボタンを押してから入力します :wq を押して ENTER. vimを終了すると、次の出力が表示されます。

Output
Success: Created post 6.

入力した場合 wp post list もう一度コマンドを実行すると、作成したばかりの投稿が見つかります。 ウェブサイトのフロントエンドを確認することもできます。

コマンドラインで投稿を書き込む代わりに、テキストファイルから投稿コンテンツをインポートすることもできます。 まず、ファイルを作成する必要があります。 例えば:

  1. touch content.txt

次に、コマンドラインエディタでファイルを開き、コンテンツを追加または編集します。

  1. nano content.txt

編集が完了したら、を押してファイルを保存して閉じます CTRL-X に続く Y 保存する。 次のコマンドを使用して、そのファイルの内容をWordPress投稿としてインポートできます。 あなたがする必要があるのは、後にファイルへのパスを指定することです create サブコマンド。 ここにあるサンプルファイルでは、次のコマンドを実行します。

  1. wp post create ./content.txt --post_title='Sample Post Created with WP-CLI' --post_status=publish

投稿の代わりにページを作成する場合は、 --post_type フラグを立ててに設定します page:

  1. wp post create --post_title="A simple page" --post_status=draft --post_type=page

投稿またはページの生成

WP-CLIには、ダミーデータを使用して投稿とページをクリーンに生成するオプションもあります。 これは、開発中のテーマまたはプラグインをすばやくテストするためのカスタムデータが必要な場合に役立ちます。 次のコマンドは、投稿を生成するためのものです。 追加のフラグを含めない場合、デフォルトで100件の投稿が生成されます。

  1. wp post generate

を使用して生成される投稿の数を変更できます --count 国旗:

  1. wp post generate --count=20

投稿の代わりにページを生成する場合は、 --post_type フラグを立ててに設定します page:

  1. wp post generate --count=20 --post_type=page

また、使用することができます wp help post generate 希望する結果を得るのに役立つ他の利用可能なオプションを確認します。

WordPressの改訂

何年にもわたるコンテンツの編集と更新のために、古いサイトのメインページに数十または数百の改訂があることは珍しくありません。 リビジョンは、コンテンツの以前のバージョンに戻す必要がある場合に役立ちますが、多すぎるとパフォーマンスが低下する可能性もあります。 次のコマンドを実行して、WordPressデータベース内のすべての投稿リビジョンをクリーンアップできます。

  1. wp post delete $(wp post list --post_type='revision' --format=ids) --force

括弧で囲まれたコマンドが最初に評価され、 ids 存在するすべての投稿リビジョンの delete サブコマンド。 The --force タイプの投稿のためにフラグが必要です 'revision' ゴミ箱への送信はサポートされていません。

ステップ5—データベースの管理

WP-CLIの最も便利な機能の1つは、MySQLデータベースと対話する機能です。 たとえば、対話型セッションが必要な場合は、次のコマンドを使用してMySQLプロンプトを入力できます。

  1. wp db cli

その後、通常どおりにMySQLシェルを使用できます。タスクが完了したら、次のように入力してシェルを終了します。 exit.

1回限りのクエリの場合は、 wp db query コマンドの引数として有効なSQLクエリを渡すことにより、コマンドを実行します。 たとえば、WordPressデータベースに登録されているすべてのユーザーを一覧表示するには、次のコマンドを実行します。

  1. wp db query "SELECT user_login,ID FROM wp_users;"

次のような出力が表示されます。

Output
+------------+----+ | user_login | ID | +------------+----+ | admin | 1 | +------------+----+

wp db query WordPressデータベースに対して1回限りのSQLクエリを実行できます。

バックアップと復元

WP-CLIを使用すると、WordPressデータベースをバックアップすることもできます。 次のコマンドを実行すると、SQLダンプファイルが現在のディレクトリに配置されます。 このファイルには、投稿、ページ、ユーザーアカウント、メニューなどを含むWordPressデータベース全体が含まれています。

wp db export

ファイルが作成されたら、保管のために別の場所に移動できます。

Output
Success: Exported to 'wordpress-2021-01-25-25618e7.sql'.

SQLダンプファイルをデータベースにインポートすることもできます。 wp db import 指図。 これは、WordPressWebサイトをある場所から別の場所に移行する場合に便利です。

  1. wp db import file.sql

検索と交換

WP-CLIで実行できるもう1つの一般的な操作は、検索と置換の操作です。 最初にドライランを実行して、変更するインスタンスの数を確認できます。 最初の文字列は検索コンポーネントで、2番目の文字列は置換です。

  1. wp search-replace --dry-run 'example.com' 'example.net'

これを実行すると、出力は次のようになります。

Output
Success: 10 replacements to be made.

続行することを確認したら、 --dry-run 前のコマンドのフラグ:

  1. wp search-replace 'example.com' 'example.net'

このステップでは、WP-CLIを使用して実行できるいくつかのデータベース操作を確認しました。 データベースの最適化、データベーステーブルの表示、データベースの削除、データベースのリセットなど、他の操作を完了することもできます。 あなたは下の他のオプションを探索することができます wp db 次のように入力してサブコマンド wp help db あなたのターミナルで。

ステップ6—WordPressを更新する

コアWordPressファイルはWP-CLIで更新できます。 次のコマンドを実行して、インストールしたWordPressの現在のバージョンを調べることができます。

wp core version
Output
5.6

更新を確認するには、 wp core check-update 指図。 お使いのバージョンが最新でない場合、次のような出力が生成されます。

Output
+---------+-------------+-----------------------------------------------------------------------+ | version | update_type | package_url | +---------+-------------+-----------------------------------------------------------------------+ | 5.6.1 | minor | https://downloads.wordpress.org/release/wordpress-5.6.1-partial-0.zip | +---------+-------------+-----------------------------------------------------------------------+

アップデートが利用可能な場合は、次のコマンドでインストールできます。

  1. wp core update
Output
Updating to version 5.6.1 (en_US)... PHP Warning: Declaration of WP_CLI\Core\CoreUpgrader::download_package($package, $check_signatures = true) should be compatible with WP_Upgrader::download_package($package, $check_signatures = false, $hook_extra = Array) in phar:///usr/local/bin/wp/vendor/wp-cli/core-command/src/WP_CLI/Core/CoreUpgrader.php on line 30 Warning: Declaration of WP_CLI\Core\CoreUpgrader::download_package($package, $check_signatures = true) should be compatible with WP_Upgrader::download_package($package, $check_signatures = false, $hook_extra = Array) in phar:///usr/local/bin/wp/vendor/wp-cli/core-command/src/WP_CLI/Core/CoreUpgrader.php on line 30 Downloading update from https://downloads.wordpress.org/release/wordpress-5.6.1-partial-0.zip... Unpacking the update... Success: WordPress updated successfully.

を設定して特定のバージョンに更新することもできます --version バージョン番号にフラグを立てます。 古いバージョンに戻したい場合は、 --force フラグがありますが、これはお勧めしません:

  1. wp core update --version=5.6
  2. wp core update --version=5.0 --force

この最後のステップでは、WordPressのバージョンをWP-CLIで更新しました。

結論

WordPressの開発者と管理者がコマンドラインで作業している場合、WP-CLIはツールボックスへの優れた追加機能です。 このチュートリアルでは、コマンドラインから実行できる一般的なタスクのいくつかについて説明しました。

WP-CLIには、Webインターフェイスなしでコマンドラインでさらに多くのことを実現するために慣れることができる、さらに多くのコマンドとオプションがあります。 使用する wp help <command> 特定のサブコマンドで実行できるすべてのことを確認します。 さらに多くの機能でWP-CLIを拡張する多くのコミュニティツールもあります。

WordPressのその他のチュートリアルについては、WordPressトピックページをご覧ください。