LightboxとmoreのAjax(1)footnoteにコケっと。
またWordPressネタです。
Lightboxとmore以下をAjaxで表示するプラグインについて。
↑上の、「more」と「Less」というのはAjaxified Expand Post NOWというプラグインを入れまして、Ajaxで実現してるわけなんですけど、これを使いますと、Lightboxが働かない事が判明したことを前の脚注に書きました。
Ajaxified Expand Post NOWは作者の方が台湾人のようで、これの限定バージョンのプラグインのページにもLightboxについてコメントがついているんですけども、ほぼ繁体字(汗)まあ、私も漢字の国の人だもの、と無理矢理解読を試みるがやっぱりわからんよ〜(泣)
エキサイト翻訳などでコメントを読んでみるものの、やはり解決してはいない模様。
使っている方で日本語のページもいくつかあたってみたんですが、個別エントリーではLightboxも問題ないので放置、という方と、以前使ってたけどLightboxが効かないとか重たいとかでやめましたという方に分かれていましたが、どっちにせよ解決はしていない様子でした。
Ajaxified Expand Post NOWの作者を始め、色々知ってそうな方が放置している(時間がないとか興味がないとかあるんでしょうけど)ということは、きっとこれを変えるのは難しいことなんでしょうね...(そうでもなかった...お急ぎの方は次のエントリーをどうぞ。メニュー部分や文章の一部を折りたたみたいという方は以下も参考になるかもですので続けてどうぞ。)
というわけでmore以下が折りたためて、かつLightboxが使えるプラグインはないかね〜と探していたところ、こんなんありますぜ、との書き込みから発見。
Ajax-Spoiler Plugin v0.8
おう、ここもお仲間エイジアン。作者は韓国の方のようです。いや、北朝鮮の方かもしれんけど。
このmore折りたたみプラグイン探しの旅はSteppin' into Asiaって感じですね。1
これはプラグインディレクトリに入れてActivateしてThat'sAllなんて書いてありますが、私の環境では
aj-spoiler.phpを
-
var $feed_visibility = 'hide'; // 'show' or 'hide'
-
var $use_html_tagset = false; // Use <spoiler></spoiler> set. true or false (recommended is false)
-
var $js_library = 'prototype'; // 'mootools' or 'prototype'
と直さなければなりませんでした。デフォルトで'var $feed_visibility = が「'show'」、var $js_library =が「'mootools'」になってました。2
mootoolsというのを入れてある環境だとそのまんま動くということみたいですね。もしかして両方ともないとかいう場合は持って来て入れればいいみたいです。そのうち何が必要なのかはプラグインのページに書いてあります。
このプラグインはAjaxified Expand Post NOWとは異なり、
[spoiler][/spoiler]というタグで「隠したい所」を囲むと、「show」や「more」や「続きを読む」でも良いんでしょうけど、それをタグの一番上に表示した上で、タグで囲んだ部分を隠せるというものです。
Ajaxified Expand Post NOWは元々別の画面に遷移させてたmore以下部分をAjaxで読み込むという、元々のmore機能に乗っかった形なので、編集画面のmoreボタンのみで編集作業は済みますが、これは囲まなければならないので隠したい文章の最後にもタグが必要になります。
ソースを見るとわかりやすいんですけど、Ajaxified Expand Post NOWの場合は元々のmore機能に乗っかってますから、もし全文を開いて表示していても、ソースには反映されてません。
しかしこちらは
「本当はね、ここにね、あるんだよ。」
と、絵本の子供のような喋りになってしまいましたが、「隠してた」だけなのでソースにもたっぷり出てますね。実際、一瞬全文表示されちゃってますし。
ですので、こういうのを利用して、more以下全部、ではなくて隠したいところのみを隠すということもできますし、メニューなんかにも簡単に取り入れられるみたいですね。あとは、隠す動作もしゃきーんとかびろーんとか選べるようです。
これでmore以下も隠せて、lightboxも動くしまあ一安心かなぁ、わくわくどきどき...
げっ!WP-Footnotesで入れた脚注がはみ出てる!!!
Ajax-Spoilerは編集画面での記事自体にdivを作って囲ったものを隠すというやり方。
一方footnoteは記事の最後にリストタグを作って脚注を表示してくれますが、どうやらこれの表示位置は記事の最後とmetaだかdateだかの間の様子...要は編集画面に書いた内容の外へ置くようになっているらしい...
うおお...浅はかでした...OTL
まあ、footnoteをお使いでない方はAjax-Spoilerであっさり解決でございます。3
何かAjax-Spoilerの解説エントリーになってしまいましたが、まだ悩める私は次回へ続きます...
