2016年4月21日木曜日

WP jQuery Lightboxがdo_shortcode()で機能しない

WP jQuery Lightboxは、ギャラリーの画像をポップアップして表示してくれる便利なプラグインだ。

エディタでギャラリーを作成して、ギャラリーの設定で「リンク先」を「メディアファイル」にするだけでいい(※jQuery Lightboxプラグインの設定で、「自動的に画像(イメージリンク)にLightbox効果を適応する」のチェックを外していなければ)。

エディタにギャラリーを作成しておけば、ギャラリーの編集で画像の入れ替え等もできて便利なのだが、固定ページの更新に使用する際に、エディタを他の部分の文章の更新に使用するために、ギャラリーをテンプレートファイル内で、

echo do_shortcode('[gallery link="file"]')

で出力することにした。

一見、ギャラリーが正しく表示され問題ないように見えるのだが、画像をクリックするとポップアップせず、画像ファイルが直接開いてしまう。HTMLソースを確認すると、画像リンクに本来追加されるはずの

rel="lightbox[XXX]"

が見当たらない。

対応方法として、

$gallery_shortcode = '[gallery link="file"]';
 print apply_filters( 'the_content', $gallery_shortcode );

とすると、正常に機能した。

検証環境:
 WordPress 4.5
 wp-jquery-lightbox 1.4.8

0 件のコメント:

コメントを投稿