頑張らない!でも諦めない!必死にならずにええかげん

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ファイルを解凍し、
プラグイン名のフォルダを上書きすることで、旧バージョンに戻すことができます。

01_標準のディレクトリ構成

標準のディレクトリ構成

しかし、既にアップデートしたプラグインを戻したり、
再度アップデートしたりといったことをしていると非常に面倒です。

シンボリックリンクを利用したwordpressディレクトリ構成

通常のディレクトリ構成を利用すると、
[wp-content]-[plugins]内のプラグイン名ディレクトリに配置されているプラグインが採用されることから、
このプラグイン名ディレクトリをシンボリックリンクで置き換えてしまいます。

シンボリックリンクの参照先は、別のディレクトリに配置したバージョン別のディレクトリを参照します。

02_シンボリックリンク利用

シンボリックリンク利用

このようにすることで、プラグインのバージョンの切り替えは、
シンボリックリンクの参照先を過去のバージョンフォルダなどに変更するだけで、
バージョンを戻したりといったことが一発で行えるようになります。

シンボリックリンクの更新

シンボリックリンクは一旦作成すると、参照先などを変更することができない為、
毎回一旦削除を行って、再作成を行う形になります。

しかしバージョンを変更するたびに毎回コマンドを打つのは非常に面倒です。
その為、以下のようなバッチプログラムを作成します。

パスは上で図示したディレクトリ構成であるものとして例示します。

上記で[REM ・・・]で始まる行はコメント行で実行されません。

例でいえば、jetpack2.5に対してリンクを張る部分が実行されますが、
旧バージョンへ戻す際などには、
旧バージョンのREMを消しjetpack2.5の行にREMを付与し実行します。

上記のバッチファイルを実行すると以下のように、
シンボリックリンクが作成されます。

03_作成されたシンボリックリンク

作成されたシンボリックリンク

しかしこのままではリンク先の確認ができませんので、
上部の列部分で右クリックしてプルダウンメニューを表示します。
メニューの最下部の[その他]をクリックします。

04_列詳細の変更

列詳細の変更

詳細表示の設定ウィンドウで[詳細]部をスクロールして、
[リンク先]をクリックして[OK]をクリックしてウィンドウを閉じます。

05_リンク先の選択

リンク先の選択

列の部分に[リンク先]が表示され、シンボリックリンクのリンク先が確認できます。

06_リンク先の表示

リンク先の表示

wordpressのプラグイン表示の確認

wordpressの[インストール済みプラグイン]を確認すると、
今配置したJetpackが表示され、有効化ができるようになっています。

07_wordpressプラグインの確認

wordpressプラグインの確認

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

今回はプラグインディレクトリをシンボリックリンクで切り替える手法をご紹介しました。
ただし、プラグインの中にはデータベースにテーブルを作成するものもあり、
旧バージョンへ戻す際には、
念のためプラグインを停止したり、削除した方がいいプラグインもあると思います。

切換えを行うプラグインの複雑さに合わせて、
一旦削除をするなど臨機応変に対応いただけたらと思います。

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。

AdMax Promotion

ブログ記事のご紹介
すべて展開 | すべて省略

Rakuten Promotion

ページ
すべて展開 | すべて省略

 - WordPress, プラグイン , , ,

  関連記事

eye_wordpress
Welcart e-Commerce_v1.3.15プラグインの必須初期設定

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
Jetpack by WordPress.comはユーザーごとに連携が必要

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
国際版 WordPressの日本語化手順

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
ヘッダー・フッターバー表示にはHeader and Footer Commander-wordpressプラグインを利用

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
WordPressで独自のショートコードをプラグインレスで設定

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
WordPressに作成される.htaccessの動作を改めて確認しておこう

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
Jetpackのwordpress.com連携でエラーは競合が原因だった

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_automattic
POLLDADDY(v2.0.21)プラグインで利用可能な投票(Poll)のスタイル一覧

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
投稿の前後に任意のタグを挿入にEZ Zenback-wordpressプラグインを利用

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_wordpress
19_08.SoundCloudジャケット表示には、Jetpackのsoundcloudショートコード埋め込み

Google or AdMax Promotion(it) 禁断の機能がau公式 …