blog

VCCWではじめるWordpress シリーズWP-CLIでWordpressプラグインをインストールし有効化する

    • Ryuichi Nonaka
    この記事は書かれてから1年以上経過しており、内容が古い場合があります。

    はじめに

    前回の記事VCCWでWP-CLI(A command line interface for WordPress)を試すWP-CLIの参照系コマンドを試しました。今回はプラグインを管理するコマンドを使い、プラグインのインストールと有効化を試します。

    環境について

    前回と同じくVCCW上でWP-CLIを試します。仮装環境を立ち上げ、SSHでアクセスします。

    $ vagrant up
    $ vagrant ssh
    

    プラグインを探す

    WP-CLIでプラグインを管理するためにはプラグインのslugが必要になります。 プラグインのslugは検索コマンドかPlugin Directoryにある各プラグインのURLを確認します。今回はEmmetプラグインを検索しslugを確認します。

    $ wp plugin search emmet
    Success: Showing 3 of 3 plugins.
    +------------------------+------------------------+--------+
    | name                   | slug                   | rating |
    +------------------------+------------------------+--------+
    | WP Emmet               | wp-emmet               | 100    |
    | Post Editor Zen Coding | post-editor-zen-coding | 100    |
    | WP Zen-Coding          | wp-zen-coding          | 100    |
    +------------------------+------------------------+--------+
    

    一番上の列にあるWP Emmetが対象のプラグインであり、その横に表示されているwp-emmetがslugです。

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

    検索で調べたslugをもとにインストールコマンドを実行します。

    $ wp plugin install wp-emmet
    Installing WP Emmet (0.3.1)
    https://downloads.wordpress.org/plugin/wp-emmet.zip からインストールパッケージをダウンロードしています…
    パッケージを展開しています…
    プラグインをインストールしています…
    プラグインのインストールが完了しました。
    

    これでインストールは完了です。Wordpressの管理画面に無効状態のWP Emmetプラグインがあるはずです。

    プラグインの一覧

    コマンドからもWP Emmetプラグインのインストール状況をチェックしてみます。

    $ wp plugin list
    +--------------------+----------+-----------+------------+
    | name               | status   | update    | version    |
    +--------------------+----------+-----------+------------+
    | akismet            | inactive | available | 3.0.2      |
    | dynamic-hostname   | active   | none      | 0.4.0      |
    | hello              | inactive | none      | 1.6        |
    | plugin-check       | active   | none      | 0.1        |
    | theme-check        | active   | none      | 20140929.1 |
    | wp-basic-auth      | active   | none      | 1.1.1      |
    | wp-emmet           | inactive | none      | 0.3.1      |
    | wp-multibyte-patch | active   | none      | 2.1.1      |
    +--------------------+----------+-----------+------------+
    

    wp-emmetがinactive(不活発)状態でインストールされていることが確認できました。

    プラグインの有効化

    インストールしたWP Emmetプラグインをコマンドを使い有効化します。

    $ wp plugin activate wp-emmet
    Success: Plugin 'wp-emmet' activated.
    

    管理画面で操作せずにプラグインを有効化できました。

    シェルを使ったプラグインの一括インストールと有効化

    1つずつインストールして有効化するのは非効率なので、シェルを使って一括インストールと有効化を試してみます。今回は簡易的なのでシェルで試しますが、Chef等を使うことでよりInfrastructure as Codeになるんじゃないでしょうか(Chefも近々勉強する)。

    何となくシェルを調べて使っているので書き方はたぶんクソです。とりあえずこれで動くレベルだと思ってください。

    シェルファイルを作る

    wordpressのルートにシェルファイルを作ります。

    $ vi /var/www/wordpress/install-plugins.sh
    

    中身はプラグインのslugを配列で管理し、for文でインストールと有効化の処理を書いています。

    #!/bin/sh
    PLUGINS=('wp-emmet' 'user-role-editor' 'w3-total-cache')
    
    for i in "${PLUGINS[@]}"
    do
      wp plugin install "${i}"
      wp plugin activate "${i}"
    done
    

    シェルの実行

    wp-emmetはすでにインストール済みだったのでWarningで怒られてますが、他の2つはインストールと有効化が処理されています。

    $ bash install-plugins.sh
    Warning: wp-emmet: Plugin already installed.
    Warning: Plugin 'wp-emmet' is already active.
    Installing User Role Editor (4.17.3)
    https://downloads.wordpress.org/plugin/user-role-editor.zip からインストールパッケージをダウンロードしています…
    パッケージを展開しています…
    プラグインをインストールしています…
    プラグインのインストールが完了しました。
    Success: Plugin 'user-role-editor' activated.
    Installing W3 Total Cache (0.9.4)
    https://downloads.wordpress.org/plugin/w3-total-cache.0.9.4.zip からインストールパッケージをダウンロードしています…
    パッケージを展開しています…
    プラグインをインストールしています…
    プラグインのインストールが完了しました。
    Success: Plugin 'w3-total-cache' activated.
    

    これでプラグインの一括インストールと有効化ができますね。 これはクソコードなのでChefも含めてもっと良い方法を勉強していきたいと思います。

    シリーズ

    1. VCCWでiemotoを使ったWordpressテーマ作成
    2. VCCWでWP-CLI(A command line interface for WordPress)を試す
    3. WP-CLIでWordpressプラグインをインストールし有効化する
    4. VCCWでファイルがアップロードできなくてはまった話

    コメント・フィードバック