WordPress: ダッシュボード無効化プラグイン WordPress: Google AdSense のプラグイン
Jun 23

WordPress: Lightbox 2 (画像表示プラグイン)

Lightbox 2 は記事に貼り付けられたサムネイル画像をクリックすると実サイズの画像を同じウィンドウ上に見栄えよく表示するプラグインです。

サンプル画像:
札幌ドーム

利用方法と画像挿入時に追加する必要があるアトリビュートを自動的に付加する改造方法も合わせて解説します。

提供元: Lightbox 2 Wordpress Plugin

セットアップ

  1. プラグインファイルを設置
  2. ダウンロードしたファイルを解凍し、lightbox2.php と lightboxフォルダを WordPress の pluginsフォルダに設置する。
    保存先:/path/to/your_site/wp-content/plugins/

  3. 管理ツールで Lightbox 2プラグインを有効にする
  4. 管理ツールのメニューにある「プラグイン」をクリックしてプラグイン管理ページを開き、「Lightbox JS v2.03.3 Plugin」の「使用する」をクリックする。

利用方法

画像リンクに以下のアトリビュートを追加する。
追加アトリビュート:rel="lightbox"

HTML:
  1. 《例》
  2. <a href='/foo/bar/xxxx.jpg' title='xxxx' rel='lightbox'><img src='/foo/bar/xxxx.thumbnail.jpg' alt='xxxx' /></a>

スクリプト改造

(注意)WordPress をアップデートしたら再度修正する必要がある。

  1. rel='lightbox' を自動挿入する
  2. 記事に画像を挿入するのは簡単だが、その度に Lightbox2 のためのアトリビュートを追加する作業は面倒である。
    「エディタに送る」をクリックした時に rel='lightbox' というアトリビュートを画像のリンクタグに自動的に挿入するように改造する。

    • 「エディタに送る」で挿入した画像は LightBox が有効なリンクになるので、無効にしたい場合は挿入後 rel='lightbox' を削除する必要がある。

    file: wp-admin/upload.js

    JAVASCRIPT:
    1. 先頭行:
    2. // LightBox 2 プラグイン用のアトリビュート
    3. var Rel_LightBox2 = "'" + " rel='lightbox";
    4.  
    5. addLoadEvent( function() {
    6.  
    7. 240行目:
    8.             if ( 'none' != link )
    9.                 //h += "<a href='" + ( 'file' == link ? ( this.currentImage.srcBase + this.currentImage.src ) : ( this.currentImage.page + "' rel='attachment wp-att-" + this.currentImage.ID ) ) + "' title='" + this.currentImage.title + "'>";
    10.                 // 上記(オリジナル)行末の this.currentImage.title + "'>"; の部分に下記のように  + Rel_LightBox2 を追加する。
    11.                 h += "<a href='" + ( 'file' == link ? ( this.currentImage.srcBase + this.currentImage.src ) : ( this.currentImage.page + "' rel='attachment wp-att-" + this.currentImage.ID ) ) + "' title='" + this.currentImage.title + Rel_LightBox2 + "'>";

  3. 画像の URL からドメイン部分を省略する
  4. 投稿画面にある画像ツールで「エディタに送る」をクリックして記事フォームに挿入される画像の URLパスを http:// からではなくトップディレクトリからのパスに変更する。
    なぜこのような改造をしたいかというと、サーバの引っ越しなどドメインが変わった場合、記事内の画像パスやリンクURLを書き換えなくてはならなくなるが、そもそも記事ツールでは同一サーバに画像を保存するわけであるからプロトコルとドメイン部分が無ければドメインが変わった時に書き換える必要がなくなる。
    具体的には WordPress の下記システムプログラムに記述されている部分で value値を空データにする。

    file: wp-admin/upload-functions.php

    PHP:
    1. 45行目:
    2.     //$r .= "\t\t\t\t<input type='hidden' name='attachment-url-base-$id' id='attachment-url-base-$id' value='$src_base' />\n";
    3.     // LiteBox 2 プラグインのため下記のように修正
    4.     $r .= "\t\t\t\t<input type='hidden' name='attachment-url-base-$id' id='attachment-url-base-$id' value='' />\n";
    5.  
    6. 54行目:
    7.         //$r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-base-$id' id='attachment-thumb-url-base-$id' value='$thumb_base' />\n";
    8.     // LiteBox 2 プラグインのため下記のように修正
    9.         $r .= "\t\t\t\t<input type='hidden' name='attachment-thumb-url-base-$id' id='attachment-thumb-url-base-$id' value='' />\n";

Leave a Reply