ノウハウ
[エンジニア向け]

WP-CLIを使う ( ユーザ管理、プラグイン管理等)

ノウハウ
テクニカルサポート
WordPress

wpcli
WordPressホスティングには「WP-CLI」と呼ばれるコマンドラインツールがインストールされています。
WordPressの管理画面でやる操作を、コマンドラインで行えるようにしたい、ということを目的に作られたコマンドです。
WP-CLI

ヘルプ、ユーザ、プラグイン、コアのよくあるところのコマンドメモです。

0.準備

WP-CLIを言ってますがコマンド本体は「wp」で実行します。実行する前にrootに昇格し、ドキュメントルートに移動します。

  1. SSHでサーバにログイン後、rootに昇格
  2. ドキュメントルートフォルダに移動 既定のWordPressの場合「/home/kusanagi/excloud/DocumentRoot」
    # cd /home/kusanagi/excloud/DocumentRoot 

1.ヘルプを見る wp help

wp コマンドには いくつもサブコマンドが用意されています。
“wp サブコマンド …”という形で指定します。公式サイトに載っていても使えないものもありますので、ヘルプをみましょう。

サブコマンド一覧をみる

wpのすぐ後ろにつけるサブコマンドを確認する方法は以下。

# wp help

サブコマンドの例として wp user というものもありますが そのヘルプを見る場合は以下。

# wp help user

参考URL
wp help – WP-CLI

2.ユーザ管理 wp user

2.1 ユーザ一覧表示

# wp user list

役割(role)ごとに絞って表示させることもできます。既定では「administrator」「editor」「author」「contributor」「subscriber」の5つの役割があり、この順番に権限が大きいです。

# wp user list --role=administrator

administrator のところに他の役割名をいれても確認できます。(administratorは必須なので1行は結果がでますがその他のユーザにいてつは必須ではないので何もでないこともあります)
役割については後述します。

参考URL
wp user list – WP-CLI

2.2 特定のユーザの表示名変更

ユーザIDを確認後、アップデートする方法です。update の次にはユーザ(ユーザID、ログイン名、メールアドレスのいずれか)、更新項目 が続きます。

# wp user list
+----+------------+--------------+--------------+--------------+--------------+
| ID | user_login | display_name | user_email   | user_registe | roles        |
|    |            |              |              | red          |              |
+----+------------+--------------+--------------+--------------+--------------+
| 1  | excldXX    | excldXX      | taro1@exampl | 2016-11-17 0 | administrato |
|    |            |              | e.org        | 8:10:32      | r            |
+----+------------+--------------+--------------+--------------+--------------+
# wp user update 1 --display_name="oresama kanrisha"
# wp user list
+----+------------+--------------+--------------+--------------+--------------+
| ID | user_login | display_name | user_email   | user_registe | roles        |
|    |            |              |              | red          |              |
+----+------------+--------------+--------------+--------------+--------------+
| 1  | excldXX    | oresama kanr | taro1@exampl | 2016-11-17 0 | administrato |
|    |            | isha         | e.org        | 8:10:32      | r            |
+----+------------+--------------+--------------+--------------+--------------+

2.3 特定のユーザのパスワードをアップデート

当社サーバで行うと実行後エラーメッセージがたくさんでるのですが、パスワード自体の更新は有効です。

# wp  user update 1 --user_pass="xxxx"

参考URL
wp user update – WP-CLI

2.4 ユーザ新規追加 wp user create

以下は管理ユーザを新規追加する例です。

# wp user create  excldxx taro2@examle.org  --display_name="taro2"  --role=administrator --user_pass="xxxx"

create の直後のユーザ名(上の例では excldxx) 、Emailアドレス(上の例では taro2@examle.org)は必須です。
必須の項目は既存のユーザのものと重複してはいけません。

[ –role=administrator ] の役割のブロックを省略すると、”何もカスタマイズしていない場合”は、デフォルトで –role=subscriber ( 購読者権限 ) でのユーザ作成となります。
[ –display_name=”taro2″ ]の表示名のブロックを省略すると、ログインIDのパラメータと同じ文字列が表示名として設定されます。
[ –user_pass=”xxxx” ] の役割のブロックを省略すると、ランダムでパスワードが付与され、標準出力でその文字が表示されます。

参考URL
wp user update – WP-CLI

2.5 ユーザ削除

delete の直後項目は必須です。ログイン名か、EmailアドレスかIDを指定します。そのユーザがこれまで投稿した項目を別のユーザに割り当ててから、該当ユーザを削除するという流れなので、引継ぎ先ユーザIDを指定します。
以下は、7番のユーザさんを1番さんに引き継ぎつつ削除する例です。

# wp user delete 7 --reassign=1

参考URL
wp user delete – WP-CLI

3.プラグイン管理 wp plugin

3.1 プラグイン一覧を見る

以下のコマンドはどちらも同じような内容が表示できます

# wp plugin status
6 installed plugins:
  I akismet               3.2
  A captcha               4.2.7
  A wordpress-faq-manager 1.331
  I wp-multibyte-patch    2.8
  M kusanagi-wp-configure 0.7
  M wp-kusanagi           1.0.9

Legend: I = Inactive, A = Active, M = Must Use

# wp plugin list
+-----------------------+----------+-----------+---------+
| name                  | status   | update    | version |
+-----------------------+----------+-----------+---------+
| akismet               | inactive | none      | 3.2     |
| captcha               | active  | none      | 4.2.7   |
| hello                 | inactive | none      | 1.6     |
| wp-multibyte-patch    | inactive | available | 2.7     |
| kusanagi-wp-configure | must-use | none      | 0.7     |
| wp-kusanagi           | must-use | none      | 1.0.9   |
+-----------------------+----------+-----------+---------+

参考URL
wp plugin – WP-CLI
wp plugin status – WP-CLI
wp plugin list – WP-CLI

3.2 特定プラグインを無効化/有効化

無効化

# wp plugin deactivate captcha

有効化

# wp plugin activate captcha

参考URL
wp plugin activate – WP-CLI
wp plugin deactivate – WP-CLI

3.4 特定プラグインを削除

# wp plugin delete hello

参考URL
wp plugin delete – WP-CLI

3.5 特定プラグインを検索/インストール

# wp plugin search "wordpress faq manager"
Success: Showing 10 of 825 plugins.
+---------------------------------+-------------------------+--------+
| name                            | slug                    | rating |
+---------------------------------+-------------------------+--------+
| FAQ Manager                     | wordpress-faq-manager   | 92     |
| WordPress Booking Manager       | wp-booking-manager      | 100    |
| WordPress Twitter Bootstrap CSS | wordpress-bootstrap-css | 84     |
| WPB Advanced FAQ                | wpb-advanced-faq        | 100    |
| Clink - WordPress Link Manager  | clink                   | 80     |
| WP Course Manager               | wp-course-manager       | 100    |
| FG Joomla to WordPress          | fg-joomla-to-wordpress  | 94     |
| FAQ                             | powr-faq                | 74     |
| FAQ                             | ultimate-faqs           | 88     |
| CM FAQ                          | cm-faq                  | 100    |
+---------------------------------+-------------------------+--------+
# wp plugin install wordpress-faq-manager
Installing FAQ Manager (1.331)
Downloading install package from https://downloads.wordpress.org/plugin/wordpress-faq-manager.1.331.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.

参考URL
wp plugin search – WP-CLI
wp plugin install – WP-CLI

3.6 インストール済プラグインのステータスを確認/アップデート

(以下は「Theme My Login」がインストール済みでアップデートがリリースされている例)

# wp plugin status theme-my-login
Plugin theme-my-login details:
    Name: Theme My Login
    Status: Active
    Version: 6.4.5 (Update available)
    Author: Jeff Farthing
    Description: Themes the WordPress login, registration and forgot password pages according to your theme.

# wp plugin update theme-my-login
メンテナンスモードを有効にします…
https://downloads.wordpress.org/plugin/theme-my-login.6.4.6.zip から更新をダウンロードしています...
更新を展開しています…
最新のバージョンをインストールしています…
プラグインの古いバージョンを削除しています…
プラグインの更新に成功しました。
メンテナンスモードを無効にします…
Success: Updated 1/1 plugins.
+----------------+-------------+-------------+---------+
| name           | old_version | new_version | status  |
+----------------+-------------+-------------+---------+
| theme-my-login | 6.4.5       | 6.4.6       | Updated |
+----------------+-------------+-------------+---------+

参考URL
wp plugin update – WP-CLI

4.本体管理 wp core

4.1 バージョン確認

# wp core version
4.6.1

参考URL
wp core – WP-CLI
wp core version – WP-CLI

4.2 アップデート有無確認、アップデート

# wp core check-update
Success: WordPress is at the latest version.

上記は最新版だったときの例ですが、もし最新版があらたにリリースされていてアップデートしたいときは以下で対応可能です。

# wp core update

参考URL
wp core version – WP-CLI
wp core check-update – WP-CLI

おまけ WordPressのユーザ役割と実際の権限ついて

上述のようにWordPressには既定でユーザ役割が5種類用意されています。

「役割内容の詳細内容を変更する」ようなプラグインもありますし、プラグインによってはそのプラグイン特有の役割が作成されていたりするケースもあるかとは思いますが、あくまでも既定状態のお話に限定します。

wpuser_gui

WordPress公式サイトによるとこんな各役割でできること以下のような内容となっています。
Roles and Capabilities – WordPress.org

役割名 説明
購読者 subscriber 自分のプロフィール内容を管理できる
寄稿者 contributor 自分の記事を非公開で投稿したり、管理できる
投稿者 author 自分の記事を作成し公開することができる
編集者 editor 他人の投稿したものも含め、記事を管理したり公開できる
管理者 administrator 1サイト内の管理機能のすべてにアクセスすることができる(プラグインのインストールや削除、設定変更、ユーザ発行等)

セキュリティ面においても、たくさん発行したユーザのすべてが「管理者」というのは望ましくありません。
WordPressホスティングをご利用のお客様についても、1サイト内にたくさんのユーザ発行をされている方もいらっしゃいますが、それぞれに、適切な権限のユーザを発行するよう、管理されていらっしゃるようです。

この記事を書いた人

テクニカルサポート

テクニカルサポートを得意とするエクスクラウドのサポートスタッフ。

この記事のタグ

オススメの記事

ページトップへ