WP-CLIを使用してコマンドラインからWordPressサイトを管理する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04またはUbuntu12.10を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
WordPressは、何百万ものWebサイトで使用されている非常に人気のあるブログおよびコンテンツ管理システム(CMS)です。 Web上のコンテンツを簡単に整理、管理、作成し、訪問者や寄稿者とのやり取りを処理するために使用できます。
ほとんどの人はグラフィカルインターフェイスにWordPressを使用していますが、コマンドラインからソフトウェアを制御できることには利点があります。 wp-cli
と呼ばれるツールは、まさにこの機能を提供します。
これはスクリプト作成に役立ち、構成ファイルやデータベース管理から、投稿、テーマ設定、メディアのアップロード、コメントの承認まで、サイトのすべての側面を1か所から管理できます。
このガイドでは、wp-cliインターフェイスを使用してWordPressのインストールを管理します。
WP-CLIのインストール方法
このガイドは、ドロップレット作成ページのWordPressアプリケーションイメージを使用してVPSを作成したことを前提としています。 これを行うための支援が必要な場合は、このガイドに従うことができます。
ドロップレットのデプロイが完了したら、rootユーザーとしてサーバーにSSHで接続します。
ssh root @ server_ip_address
rootユーザーのホームディレクトリにいる必要があります。
最初に行う必要があるのは、git
をインストールすることです。 このバージョン管理システムは、wp-cliのインストール中に使用されます。
apt-get update apt-get install git
次に、インストーラーを取得して、プロジェクトのWebサイトから取得した次のコマンドで実行できます。
curl https://raw.githubusercontent.com/wp-cli/wp-cli.github.com/master/installer.sh | bash
これにより、ソフトウェアを正しく機能させるために必要ないくつかのツールがインストールされます。
次に、rootユーザー用の.bash_profile
ファイルを作成し、wp-cli実行可能ファイルとオートコンプリートスクリプトへのパスを追加します。
nano ~/.bash_profile
このファイルには、次の2行を入力します。
export PATH=/root/.wp-cli/bin:$PATH source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash
ファイルを保存して閉じます。
これで、ファイルを「ソース」(環境に再読み込み)して、変更を適用できます。
source ~/.bash_profile
これでインターフェースがインストールされ、使用を開始できます。
WordPressのWebディレクトリに移動して開始します。 ワンクリックインストールでは、それはここにあります:
cd /home/wordpress/public_html
WP-CLIを使用してサイトをインストールする
これが完全に新しいVPSインスタンスである場合は、基本構成も完了していません。 すでにサイトの初期化プロセスを完了している場合は、この手順をスキップしてください。
wp-cliインターフェイスとの対話に使用されるコマンドであるwp
と入力すると、次のメッセージが表示されます。
wp
Error: The site you have requested is not installed. Run `wp core install`.
WebブラウザでIPアドレスまたはドメイン名に移動し、次のようなフォームに入力することで、サイトをできます。
ただし、これはwp-cliの使用方法に関するガイドであるため、このすべての情報を1つのコマンドで入力します。 これを行うには、コアインストールを実行します。
そのページで要求されるすべてのフィールドをパラメーターとして渡す必要があります。 これは、次の一般的な形式で行われます。
–パラメータ=「値」
定義する必要のあるパラメーターは次のとおりです。
- url :サイトへのアクセスに使用されるドメイン名。 ドメインがない場合は、IPアドレスを使用できます
- title :サイトのタイトル
- admin_user :ログインして管理サイトの機能を実行するために使用する名前
- admin_password :管理者ユーザーに関連付けられたパスワード
- admin_email :サイトの問題について連絡を取りたいメールアドレス
これらは、core
コマンドとinstall
サブコマンドの後に追加します。 まとめると、これにより、次のようなコマンドが得られます。
wp core install --url =“ your_domain_name ” --title =“ Your Blog Title ” --admin_user =“ admin” --admin_password =“ your_password ” --admin_email =“ your_email ”
このプロセスでは、必要なすべてのコンポーネントを構成するのに少し時間がかかる場合があります。 完了すると、次のような行が表示されます。
Success: WordPress installed successfully.
ブラウザでサイトにアクセスすると、デフォルトのWordPressサイトが表示されます。
WP-CLIヘルプシステムの使用方法
wp-cliには、従来のman
マニュアルページは含まれていませんが、堅牢な内部ヘルプシステムが含まれています。 次のように入力すると、いつでもアクセスできます。
wp help
DESCRIPTION Manage WordPress through the command-line. SYNOPSIS wp <subcommand> SUBCOMMANDS cache Manage the object cache. cap Manage user capabilities. cli Get information about WP-CLI itself. . . .
wp-cliがWordPressのさまざまな領域を操作するために使用するすべてのトップレベルのサブコマンドを見ることができます。
終了するには、次のように入力します。
q
この最初のレベルは、wp
と入力し、スペースを入力してからTabキーを数回押して、使用可能なサブコマンドを表示することで最もよく表示されます。
wp <tab><tab>
cache eval network-meta role theme cap eval-file option scaffold transient cli export plugin search-replace user comment help post shell user-meta core import post-meta site db media rewrite term
次に、ヘルプシステムを使用して、固有のサブコマンドについてクエリを実行できます。
wp help theme
NAME wp theme DESCRIPTION Manage themes. SYNOPSIS wp theme <subcommand> SUBCOMMANDS activate Activate a theme. delete Delete a theme. . . .
ご覧のとおり、これらの各サブコマンドには、ownサブコマンドがあります。 ヘルプシステムは、コマンド構造全体で動作します。
wp help theme install
NAME wp theme install DESCRIPTION Install a theme. . . .
このようにして、使用したいシステムのほぼすべての側面についてヘルプを得ることができます。
WP-CLIを使用してテーマをインストールする方法
wp-cliの基本的な使用法を示すために、新しいブログを作成するときに誰もが最初に行うことの1つである、新しいテーマを取得します。
まず、すでにインストールされているテーマを見てみましょう。
wp theme list
+----------------+----------+--------+---------+ | name | status | update | version | +----------------+----------+--------+---------+ | twentythirteen | active | none | 1.1 | | twentytwelve | inactive | none | 1.3 | +----------------+----------+--------+---------+
ご覧のとおり、2つのテーマがインストールされており、現在「23」というテーマを使用しています。 これは問題ありませんが、少し退屈です。
もっとエキサイティングなものを探しましょう:
wp theme search fancy
Success: Showing 5 of 5 themes. +---------------+---------------+--------+ | name | slug | rating | +---------------+---------------+--------+ | Bold Headline | bold-headline | 100 | | Clearly | clearly | 90 | | The Skeleton | the-skeleton | 100 | | Metronome | metronome | 0 | | Shipyard | shipyard | 0 | +---------------+---------------+--------+
ファンシーだと主張するテーマが5つあることがわかります。 「太字の見出し」はかなりエキサイティングなようで、良い評価を得ています。 それを手に入れましょう。 コマンドのslug
列の文字列を使用します。
wp theme install bold-headline
もう一度確認すると、正常にインストールされたことがわかります。
wp theme list
+----------------+----------+--------+---------+ | name | status | update | version | +----------------+----------+--------+---------+ | bold-headline | inactive | none | 1.2.5 | | twentythirteen | active | none | 1.1 | | twentytwelve | inactive | none | 1.3 | +----------------+----------+--------+---------+
次のように入力して、新しいテーマをアクティブ化できます。
wp theme activate bold-headline
ここで、私たちのサイトにアクセスすると、新しいテーマが適用されていることがわかります。
これはかなりよさそうだ!
WP-CLIを使用してプラグインを管理する方法
テーマと同様の方法でプラグインを管理できます。 それらには同じサブコマンドの多くがあります:
wp plugin list
+---------+----------+--------+---------+ | name | status | update | version | +---------+----------+--------+---------+ | akismet | inactive | none | 2.5.9 | | hello | inactive | none | 1.6 | +---------+----------+--------+---------+
2つのテーマがインストールされていますが、どちらもアクティブではありません。
ユーザーにソーシャルメディアサイトでコンテンツを共有するように促すことができるプラグインを入手しましょう。 これで知られているDigg-Diggと呼ばれるプラグインがあります:
wp plugin search Digg
いくつかの異なる選択肢を見ることができます。 実際に切り替えて、代わりに「aas-digg-digg-alternative」プラグインをインストールしてみましょう。 繰り返しますが、スラッグ名を使用してプラグインを参照します。
wp plugin install aas-digg-digg-alternative
次のように入力してプラグインをアクティブ化できます。
wp plugin activate aas-digg-digg-alternative
投稿の1つにアクセスすると、結果を確認できます。
WP-CLIを使用してコンテンツを管理する方法
コマンドラインエディターを使用して投稿を作成することに慣れている場合は、wp-cliインターフェイスを使用してブログ投稿全体を作成できます。
ブログの投稿のリストを取得するには、次のように入力します。
wp post list
+----+--------------+-------------+---------------------+-------------+ | ID | post_title | post_name | post_date | post_status | +----+--------------+-------------+---------------------+-------------+ | 1 | Hello world! | hello-world | 2013-10-31 20:02:18 | publish | +----+--------------+-------------+---------------------+-------------+
現在、デフォルトのメッセージのみがあります。 この投稿を削除する代わりに、もっと便利なものになるように編集しましょう。 IDで投稿を参照します。
wp post edit 1
コンテンツを削除して、次のように置き換えます。
Hello. This is my first official blog post. I hope to be adding some additional content here soon. Have a great day!
ファイルを保存して閉じると、変更が有効になります。 また、新しいコンテンツに一致するようにタイトルを変更する必要があります。
wp post update 1 --post_title="An Introduction..."
ブログに再度アクセスすると、新しいコンテンツを確認できます。
次のように入力すると、完全に新しい投稿を追加できます。
wp post create --post_status=publish --post_title="Second Post" --edit
これにより、2番目の投稿を入力できるエディターが開きます。
Hello. Here is another post. I am becoming quite prolific.
WP-CLIを使用してデータベースクエリを実行する方法
wp-cliの最も便利な機能の1つは、SQLバックエンドとの統合です。
次のように入力すると、インタラクティブセッションでWordPressデータベースに直接アクセスできます。
wp db cli
これにより、MySQLプロンプトが表示され、これを使用して、必要なあらゆる種類のデータベース管理を実行できます。 次のように入力して、インターフェイスを終了できます。
exit
ただし、最も一般的なデータベース操作では、wp-cliインターフェイスから直接制御します。
ユーザーとそれに関連付けられたIDを照会するには、次のようなものを使用できます。
wp db query "SELECT user_login,ID FROM wp_users;"
+------------+----+ | user_login | ID | +------------+----+ | admin | 1 | +------------+----+
ご覧のとおり、ユーザーは1人だけです。 ただし、この情報を使用して、作成したばかりの投稿を更新できます。 投稿に作成者フィールドを追加しましょう。 更新する投稿IDを必ず取得してください。
wp post update 6 --post_author=1
これで、投稿のコンテンツの横に「管理者」としてリストされた作成者が表示されます。
次のように入力して、データベースを最適化できます。
wp db optimize
WP-CLIでWordPressを更新する方法
次の手順を実行することで、WordPressを最新の状態に保つことができます。
wp core update wp core update-db
さらに重要なのは、次のように入力することで、WordPressのセキュリティで弱いリンクになる傾向があるプラグインを更新できることです。
wp plugin update --all
結論
これで、コマンドラインからWordPressでタスクを完了する方法をかなりうまく理解できるはずです。 これは、さまざまなクライアントの複数のサイトをすばやく簡単に管理する方法であるだけでなく、非常に複雑なタスクを簡単に実行するための非常に優れたスクリプト機能も提供します。
wp-cliを効果的に使用することにより、Webインターフェイス内からは利用できない可能性のある変更を行うときに、Webブラウザーとターミナルウィンドウを継続的に切り替える必要がなくなります。