WP-CLIv2を使用してコマンドラインからWordPressサイトを管理する方法
著者は、 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をセットアップする必要がある場合は、選択したサーバーディストリビューションについて次のチュートリアルに従うことができます。
- 非ルートで構成されているサーバー
sudo
ユーザー。 これについては、初期サーバーセットアップガイドのいずれかに従うことができます。 - Linux、Apache、MySQL、PHP(LAMPスタック)がサーバーにインストールされています。 サーバーのディストリビューションについては、 Linux、Apache、MySQL、PHP(LAMP)スタックのインストール方法に従ってください。
- 安全なWordPressのインストール。 これは、LAMPスタックを使用してWordPressをインストールする方法に従って設定できます。
注:既存のセットアップがない場合は WP-CLI を使用してWordPressをインストールすることもできますが、この記事ではその側面については説明しません。
ステップ1—WP-CLIのインストール
この手順では、最新バージョンのWP-CLIツールをサーバーにインストールします。 このツールは、 Pharファイルにパッケージ化されています。これは、アプリのデプロイと配布を便利にするPHPアプリケーションのパッケージ形式です。
WP-CLIのPharファイルは次の方法でダウンロードできます。 curl
:
- curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
ファイルをダウンロードしたら、次のコマンドを実行して、ファイルが機能していることを確認します。
- php wp-cli.phar --info
次の出力が表示されます。
OutputOS: 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
次に、次のコマンドを使用してファイルを実行可能にします。
- chmod +x wp-cli.phar
この時点で、を実行できます wp-cli.phar
WP-CLIツールにアクセスするために直接ファイルします。 システム上でグローバルに利用できるようにするには、次の場所に移動します /usr/local/bin/
ディレクトリに名前を変更します wp
. これにより、次のように入力することで、任意のディレクトリからWP-CLIにアクセスできるようになります。 wp
プロンプトの開始時のコマンド:
- sudo mv wp-cli.phar /usr/local/bin/wp
これで、次のコマンドを発行して、インストールされているWP-CLIのバージョンを確認できます。
- wp cli version
OutputWP-CLI 2.4.0
この手順では、サーバーにWP-CLIをインストールしました。 ドキュメントで代替インストール方法を確認できます。 以降のセクションでは、WP-CLIインターフェイスを介して実行できるタスクについて説明します。
ステップ2—WordPressプラグインの設定
管理者ユーザーインターフェイスを介してWordPressプラグインをインストールして管理するのは面倒な場合があります。 このようなタスクをWP-CLIにオフロードして、プロセスを大幅に高速化することができます。 このセクションでは、コマンドラインを使用してWordPressサイトにプラグインをインストール、更新、および削除する方法を学習します。
続行する前に、WordPressインストールのディレクトリにいることを確認してください。
- cd /var/www/wordpress
強調表示されたディレクトリ名を、WordPressのインストールを含むディレクトリに変更することを忘れないでください。 前提条件のチュートリアルに従った場合、これはドメイン名である可能性があります。
現在のプラグインの一覧表示
次のコマンドを使用して、WordPressサイトに現在インストールされているプラグインを一覧表示できます。
- wp plugin list
プラグイン名のリストが、ステータス、バージョン、および利用可能なアップデートの表示とともに表示されます。
Output+---------+----------+-----------+---------+
| name | status | update | version |
+---------+----------+-----------+---------+
| akismet | inactive | available | 4.1.7 |
| hello | inactive | none | 1.7.2 |
+---------+----------+-----------+---------+
プラグインの検索
WordPressプラグインリポジトリページの検索バーからプラグインを検索するか、次のコマンドを使用してすばやくアクセスできます。
- wp plugin search seo
このコマンドを実行すると、検索語に一致する上位10個のプラグインのリストが表示されます(2021年初頭現在)。 の期待される出力 seo
クエリは次のとおりです。
OutputSuccess: 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
国旗:
- wp plugin search seo --page=2
の値に注意してください slug
桁。 この値を使用して、コマンドラインでプラグインをインストールまたは更新します。
プラグインのインストール
を使用して1つ以上のプラグインをインストールできます wp plugin install
指図。 インストールするプラグインの名前が見つかります( slug
列)そしてそれを引数としてに渡します wp plugin install
. プラグインの名前は、プラグインページのURLにもあります。
- wp plugin install jetpack wordpress-seo gutenberg
出力は、各プラグインのインストールの進行状況と完了を示します。
OutputInstalling 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ファイルへのリンクに置き換えてください。
- wp plugin install https://example.com/wp-content/uploads/myplugin.zip
古いバージョンのプラグインをWordPressリポジトリにインストールするには、 --version
国旗:
- wp plugin install jetpack --version=8.0
プラグインのアクティブ化と非アクティブ化
プラグインを一度にインストールしてアクティブ化するには、 --activate
フラグを立てる wp plugin install
:
- wp plugin install redirection --activate
OutputInstalling 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 activate
と wp plugin deactivate
それぞれコマンド:
- wp plugin activate jetpack gutenberg
- wp plugin deactivate jetpack gutenberg
または、 --all
フラグを立てて、すべてのプラグインを一度にアクティブ化または非アクティブ化します。 これは、WordPressのインストールで問題をデバッグする場合に役立ちます。
- wp plugin activate --all
- wp plugin deactivate --all
プラグインの更新
プラグインは、 wp plugin update
指図。 プラグインのセットを更新するか、プラグインのすべてを一度に更新するかを選択できます。 --all
国旗。 たとえば、 akismet
プラグインの場合、次のコマンドを実行できます。
- wp plugin update akismet
次のような出力が表示されます。
OutputEnabling 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つ以上のプラグインを指定できます。
- wp plugin delete redirection
出力は削除を確認します:
OutputDeleted 'redirection' plugin.
Success: Deleted 1 of 1 plugins.
インストールされているすべてのプラグインを一度に削除することもできます。 --all
プラグイン名を次々に指定する代わりにフラグを立てます。
- wp plugin delete --all
このステップでは、WP-CLIを使用してWordPressWebサイトのプラグインを管理しました。 管理ダッシュボードをクリックするよりも、アクションを実行する方がはるかに高速です。 次のセクションでは、WP-CLIを利用してWordPressテーマをインストールおよび管理します。
ステップ3—テーマの構成
WP-CLIを使用してテーマを管理するプロセスは、プラグインを管理するために使用できる方法とほぼ同じです。 このセクションでは、WordPress Webサイトから新しいテーマを入手し、適用します。 wp theme
サブコマンド。
まず、現在Webサイトにインストールしているテーマを確認します。
- 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
. より多くの機能を備えたものを見つけたい場合は、次のような検索を試すことができます。
- wp theme search color
出力は、一致する832のテーマがあることを示しています color
検索語:
OutputSuccess: 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
フラグはテーマをすぐにアクティブにします:
- wp theme install colormag --activate
出力はインストールを確認します:
OutputInstalling 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
コマンドは、両方で利用可能なアップデートがあることに注意します twentynineteen
と twentytwentyone
テーマ。 次のコマンドを使用して、両方を更新できます。
- wp theme update --all
次のような出力が表示されます。
OutputDownloading 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は、コマンドラインを介してコンテンツを管理するためのいくつかの方法を提供します。 nanoやvimなどのコマンドラインエディターに精通している場合は、ターミナルで投稿を作成する方が快適です。
次のサイトで投稿のリストを閲覧できます。
- 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を渡します。
- wp post delete 1
出力により、投稿の削除が確認されます。
OutputSuccess: Trashed post 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を終了すると、次の出力が表示されます。
OutputSuccess: Created post 6.
入力した場合 wp post list
もう一度コマンドを実行すると、作成したばかりの投稿が見つかります。 ウェブサイトのフロントエンドを確認することもできます。
コマンドラインで投稿を書き込む代わりに、テキストファイルから投稿コンテンツをインポートすることもできます。 まず、ファイルを作成する必要があります。 例えば:
- touch content.txt
次に、コマンドラインエディタでファイルを開き、コンテンツを追加または編集します。
- nano content.txt
編集が完了したら、を押してファイルを保存して閉じます CTRL-X
に続く Y
保存する。 次のコマンドを使用して、そのファイルの内容をWordPress投稿としてインポートできます。 あなたがする必要があるのは、後にファイルへのパスを指定することです create
サブコマンド。 ここにあるサンプルファイルでは、次のコマンドを実行します。
- wp post create ./content.txt --post_title='Sample Post Created with WP-CLI' --post_status=publish
投稿の代わりにページを作成する場合は、 --post_type
フラグを立ててに設定します page
:
- wp post create --post_title="A simple page" --post_status=draft --post_type=page
投稿またはページの生成
WP-CLIには、ダミーデータを使用して投稿とページをクリーンに生成するオプションもあります。 これは、開発中のテーマまたはプラグインをすばやくテストするためのカスタムデータが必要な場合に役立ちます。 次のコマンドは、投稿を生成するためのものです。 追加のフラグを含めない場合、デフォルトで100件の投稿が生成されます。
- wp post generate
を使用して生成される投稿の数を変更できます --count
国旗:
- wp post generate --count=20
投稿の代わりにページを生成する場合は、 --post_type
フラグを立ててに設定します page
:
- wp post generate --count=20 --post_type=page
また、使用することができます wp help post generate
希望する結果を得るのに役立つ他の利用可能なオプションを確認します。
WordPressの改訂
何年にもわたるコンテンツの編集と更新のために、古いサイトのメインページに数十または数百の改訂があることは珍しくありません。 リビジョンは、コンテンツの以前のバージョンに戻す必要がある場合に役立ちますが、多すぎるとパフォーマンスが低下する可能性もあります。 次のコマンドを実行して、WordPressデータベース内のすべての投稿リビジョンをクリーンアップできます。
- wp post delete $(wp post list --post_type='revision' --format=ids) --force
括弧で囲まれたコマンドが最初に評価され、 ids
存在するすべての投稿リビジョンの delete
サブコマンド。 The --force
タイプの投稿のためにフラグが必要です 'revision'
ゴミ箱への送信はサポートされていません。
ステップ5—データベースの管理
WP-CLIの最も便利な機能の1つは、MySQLデータベースと対話する機能です。 たとえば、対話型セッションが必要な場合は、次のコマンドを使用してMySQLプロンプトを入力できます。
- wp db cli
その後、通常どおりにMySQLシェルを使用できます。タスクが完了したら、次のように入力してシェルを終了します。 exit
.
1回限りのクエリの場合は、 wp db query
コマンドの引数として有効なSQLクエリを渡すことにより、コマンドを実行します。 たとえば、WordPressデータベースに登録されているすべてのユーザーを一覧表示するには、次のコマンドを実行します。
- 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
ファイルが作成されたら、保管のために別の場所に移動できます。
OutputSuccess: Exported to 'wordpress-2021-01-25-25618e7.sql'.
SQLダンプファイルをデータベースにインポートすることもできます。 wp db import
指図。 これは、WordPressWebサイトをある場所から別の場所に移行する場合に便利です。
- wp db import file.sql
検索と交換
WP-CLIで実行できるもう1つの一般的な操作は、検索と置換の操作です。 最初にドライランを実行して、変更するインスタンスの数を確認できます。 最初の文字列は検索コンポーネントで、2番目の文字列は置換です。
- wp search-replace --dry-run 'example.com' 'example.net'
これを実行すると、出力は次のようになります。
OutputSuccess: 10 replacements to be made.
続行することを確認したら、 --dry-run
前のコマンドのフラグ:
- wp search-replace 'example.com' 'example.net'
このステップでは、WP-CLIを使用して実行できるいくつかのデータベース操作を確認しました。 データベースの最適化、データベーステーブルの表示、データベースの削除、データベースのリセットなど、他の操作を完了することもできます。 あなたは下の他のオプションを探索することができます wp db
次のように入力してサブコマンド wp help db
あなたのターミナルで。
ステップ6—WordPressを更新する
コアWordPressファイルはWP-CLIで更新できます。 次のコマンドを実行して、インストールしたWordPressの現在のバージョンを調べることができます。
wp core version
Output5.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 |
+---------+-------------+-----------------------------------------------------------------------+
アップデートが利用可能な場合は、次のコマンドでインストールできます。
- wp core update
OutputUpdating 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
フラグがありますが、これはお勧めしません:
- wp core update --version=5.6
- wp core update --version=5.0 --force
この最後のステップでは、WordPressのバージョンをWP-CLIで更新しました。
結論
WordPressの開発者と管理者がコマンドラインで作業している場合、WP-CLIはツールボックスへの優れた追加機能です。 このチュートリアルでは、コマンドラインから実行できる一般的なタスクのいくつかについて説明しました。
WP-CLIには、Webインターフェイスなしでコマンドラインでさらに多くのことを実現するために慣れることができる、さらに多くのコマンドとオプションがあります。 使用する wp help <command>
特定のサブコマンドで実行できるすべてのことを確認します。 さらに多くの機能でWP-CLIを拡張する多くのコミュニティツールもあります。
WordPressのその他のチュートリアルについては、WordPressトピックページをご覧ください。