wordpressプラグインのバージョン違いをテスト(動作確認)する方法
2014/11/22
wordpressのプラグインの相性やアップデートの際の動作確認を、
各プラグインのバージョンで行う作業は意外と面倒なものです。
プラグインのバージョンを元に戻したりという切り替え作業を容易にやる方法をご紹介します。
毎回の上書き作業は面倒じゃないですか?
はじめに
wordpressを利用していて、
「プラグインをアップデートしたプラグインが動作しない」という事はよくあることです。
実際に公開しているサイトで発生すると本当に焦ります。
本番環境で実際にプラグインをアップデートする前に、
ローカルの環境などでプラグインの動作を確認したうえで、アップデートしたいものです。
しかし、プラグインのアップデートといえば、
pluginsディレクトリ内のプラグイン名のディレクトリがごっそりと上書きされます。
過去のバージョンに戻すには、過去バージョンのzipファイルを、
上書きすることで対応は可能なのですが、毎回の上書き作業は面倒じゃないですか?
結局は名前(フォルダ名)だけの問題
私は先日、プラグインの競合による動作不良に直面したことと、
プラグインのバージョンアップで利用していたプラグインのある機能が動作しなくなったことから、
どうやったらバージョンを容易に切り替えられるかを考えたのですが、
windows Vista以降の環境であれば簡単に切り替えができそうです。
直面した障害については以下の投稿でご紹介しています。
投稿の前後挿入にPost6WidgetArea v0.6.2<-0.5.0-wordpressプラグインを利用
シンボリックリンクの利用
シンボリックリンクとはディレクトリのショートカットのようなもので、
ディレクトリに対して別の名前を付け、別の場所に配置する仕組みです。
シンボリックリンクやハードリンクの違いといったことは、
他のサイトを参考にしていただきたいのですが、
UnixやLinuxではよく使われている仕組みです。
通常のwordpressディレクトリ構成
通常はwordpress配下の[wp-content]-[plugins]ディレクトリに対して、
インストールしたプラグインの名前のディレクトリが作成され、ファイルがインストールされます。
バージョンアップした際にはこのフォルダ内のファイルが上書きされていきます。
過去バージョンに戻す際には、個別にダウンロードしたzipファイルを解凍し、
プラグイン名のフォルダを上書きすることで、旧バージョンに戻すことができます。
しかし、既にアップデートしたプラグインを戻したり、
再度アップデートしたりといったことをしていると非常に面倒です。
シンボリックリンクを利用したwordpressディレクトリ構成
通常のディレクトリ構成を利用すると、
[wp-content]-[plugins]内のプラグイン名ディレクトリに配置されているプラグインが採用されることから、
このプラグイン名ディレクトリをシンボリックリンクで置き換えてしまいます。
シンボリックリンクの参照先は、別のディレクトリに配置したバージョン別のディレクトリを参照します。
このようにすることで、プラグインのバージョンの切り替えは、
シンボリックリンクの参照先を過去のバージョンフォルダなどに変更するだけで、
バージョンを戻したりといったことが一発で行えるようになります。
シンボリックリンクの更新
シンボリックリンクは一旦作成すると、参照先などを変更することができない為、
毎回一旦削除を行って、再作成を行う形になります。
しかしバージョンを変更するたびに毎回コマンドを打つのは非常に面倒です。
その為、以下のようなバッチプログラムを作成します。
パスは上で図示したディレクトリ構成であるものとして例示します。
1 2 3 4 5 6 |
rd C:\Apache\htdocs\wp\wp-content\plugins\jetpack REM mklink /D C:\Apache\htdocs\wp\wp-content\plugins\jetpack C:\Apache\plugins_data\jetpack\jetpack.2.3.5 REM mklink /D C:\Apache\htdocs\wp\wp-content\plugins\jetpack C:\Apache\plugins_data\jetpack\jetpack.2.4 REM mklink /D C:\Apache\htdocs\wp\wp-content\plugins\jetpack C:\Apache\plugins_data\jetpack\jetpack.2.4.1 REM mklink /D C:\Apache\htdocs\wp\wp-content\plugins\jetpack C:\Apache\plugins_data\jetpack\jetpack.2.4.2 mklink /D C:\Apache\htdocs\wp\wp-content\plugins\jetpack C:\Apache\plugins_data\jetpack\jetpack.2.5 |
上記で[REM ・・・]で始まる行はコメント行で実行されません。
例でいえば、jetpack2.5に対してリンクを張る部分が実行されますが、
旧バージョンへ戻す際などには、
旧バージョンのREMを消しjetpack2.5の行にREMを付与し実行します。
上記のバッチファイルを実行すると以下のように、
シンボリックリンクが作成されます。
しかしこのままではリンク先の確認ができませんので、
上部の列部分で右クリックしてプルダウンメニューを表示します。
メニューの最下部の[その他]をクリックします。
詳細表示の設定ウィンドウで[詳細]部をスクロールして、
[リンク先]をクリックして[OK]をクリックしてウィンドウを閉じます。
列の部分に[リンク先]が表示され、シンボリックリンクのリンク先が確認できます。
wordpressのプラグイン表示の確認
wordpressの[インストール済みプラグイン]を確認すると、
今配置したJetpackが表示され、有効化ができるようになっています。
さいごに
今回はプラグインディレクトリをシンボリックリンクで切り替える手法をご紹介しました。
ただし、プラグインの中にはデータベースにテーブルを作成するものもあり、
旧バージョンへ戻す際には、
念のためプラグインを停止したり、削除した方がいいプラグインもあると思います。
切換えを行うプラグインの複雑さに合わせて、
一旦削除をするなど臨機応変に対応いただけたらと思います。
関連記事
-
【解決】スラッグが全ての投稿で「post-0」としてMT形式がインポートされる原因
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
JetPack統計情報は復旧できる!見えていないだけだから大丈夫
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
15.Google+ プロフィール-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
23.追加ウィジェット-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
WordPressに作成される.htaccessの動作を改めて確認しておこう
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
08.カルーセル-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
21.カスタム CSS-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
19_03.blip.tvプレーヤー表示には、Jetpackのblip.tv動画ショートコード埋め込み
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
VaultPress™オンラインバックアップサービスの利用登録
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にInsert Headers and Footers-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …