[PHP][Wordpress] Wordpress をコマンドで管理する

SSH + 秘密鍵で運用しているサーバーで Wordpress 本体やプラグインを自動更新できる環境ではないため、コマンドで更新できる方法があったので試してみた。
phar 拡張モジュールは必須なので注意。

WP-CLI をインストール

インストール先には任意のフォルダでよいが、自分の場合は下記のようにディレクトリを作成して、インストール。

% mkdir -p ~/local/bin
% curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1434k  100 1434k    0     0   995k      0  0:00:01  0:00:01 --:--:--  995k

実行権限の付与と動作確認

% chmod u+x wp-cli.phar
% php wp-cli.phar --info
PHP binary:     /usr/local/bin/php
PHP version:    5.5.31
php.ini used:   /usr/local/etc/php.ini
WP-CLI root dir:        phar://wp-cli.phar
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.22.0

公式ページでは wp-cli.phar を /usr/local/bin ディレクトリに移動して、wp というファイル名に変更している。
私の場合は、/usr/local/bin に wp というシンボリックリンクを作成してすませています。
root 権限がない場合は、ユーザーディレクトリに保存したままで、シェルにサーチパスを追加して、コマンドのパスを書かないで済むようにしても可。

wp を実行してみる

wp-cli.phar は Wordpress がインストールされているディレクトリ (wp-config.php があるディレクトリ) に移動して実行する。

Wordpress 本体の状態確認とアップデート

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

プラグインの状態確認とアップデート

% wp plugin status
4 installed plugins:
  I akismet            3.1.7
  I hello              1.6
  A siteguard          1.2.5
  A wp-multibyte-patch 2.5

Legend: I = Inactive, A = Active
% wp plugin update

wp-cli.phar の使用方法について

% wp help

wp-cli.phar のセミコマンドの使用方法について

例えば、theme の場合、

% wp help theme
NAME

  wp theme

DESCRIPTION

  Manage themes.

SYNOPSIS

  wp theme <command>

...

core の場合は、

% wp help core

を実行して、各種動作を指定するオプションを調べる。