サポート » プラグイン » Ktai_Entry と WP LightBox2 の相性

  • 解決済 dainiti

    (@dainiti)


    たぶん3年以上も前のことになると思いますがWordPressの存在は知っていてもあまり使う気にもならなかった頃があったと思います。それが最近ブログが必要になり探していたところあまりにもスマートになったWordPressに心を引かれこれ以外は目に入らなくなりました、Ktai_Entryの作者様の活動も今年に入ってからのようでまさにグッドタイミングという他ありません。

    さて、本題ですがWordPressを使い出して約一ヶ月あまりでLightBox2というものを知りまして使い出したのですがPCから入力した記事内の画像はLightBoxが起動してくれるのですがKtai_Entryで投稿した画像のみLightBox2が起動してくれません。

    いろいろ触っているうちにビジュアルエディタで一度表示した後保存するとLightBox2が起動することがわかりました。老眼鏡を掛けながらなのでなかなか気がつかなかったのですが、ビジュアルエディタとKtai_Entryで投稿したHTMLを見比べること10時間ほどたった頃ようやくわかりました。

    がKtai_Entryで投稿されたHTMLソース内の<a href=の後のアドレスがシングルクォーテーションで囲まれていることに気がつきました。

    LightBox2がシングルクォーテーションでも起動してくれるのが望ましいのですが改造箇所がお分かりの方が追い出ましたらよろしくお願いいたします。あと附属ドキュメントの「LightBox 用に、rel=”lightbox”属性を追加する」も試しましたがさくらインターネット、CORE-SERVERともにWordPress画面上部にソースファイルが途中まで表示されて動いていないようです。

    my-hacks.phpの編集にはサクラエディタを使ってS-JIS UTF-8ともに試しております。そこでpost.phpのなかにmy-hacks.phpの関数と呼び出しを入れてみたのですが見事に{images}の部分が消えてしまいました。

    作者様、お願いですpost.phpの改造方法を教えてください。rel=”lightbox”の挿入方法とシングルからダブルクォーテーションに変える方法です。後・・・my-hacks.phpの使えるサーバーも知りたいですphpinfo()などでわかるもんでしょうか?

    以上よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    Ktai Entry 作者です。

    <div>がKtai_Entryで投稿されたHTMLソース内の

    img 要素の生成は WordPress コアの機能 (wp_get_attachment_link() または get_the_attachment_link() 関数) を使っています。WordPress 2.2 あたりまではダブルクォートを使っていたようですが、2.3 あたりからシングルクォートになってしまいました。XHTML の規格としては問題ないんですが、あまり好ましくないことが事実です。

    ただし、WordPress コアが返した結果をいじれる独自フィルターフック image_link/ktai_entry.php があるため、このフィルターを使ってシングルクォートをダブルクォートに変更することは可能です。

    ここは、クォート文字にシングルクォートを考慮していない LightBox2 がいまいちと言えるでしょう。もしくは、シングルクォートを使ってしまう WordPress コアが凶悪とも言えます 😉

    <div>あと附属ドキュメントの「LightBox 用に、rel=”lightbox”属性を追加する」も試しましたがさくらインターネット、CORE-SERVERともにWordPress画面上部にソースファイルが途中まで表示されて動いていないようです。</div>

    おそらく my-hacks.php に UTF-8 の BOM が入っているか、コピペがミスっています。附属ドキュメントのソースは HTML 表示状態 (ブラウザーで見た状態) でコピーしてください。附属ドキュメントをテキストエディターで見た状態だとうまく使えません。

    トピック投稿者 dainiti

    (@dainiti)

    とりあえず教えていただいた二つの関数の戻り値をシングルで囲んで試したところ受信結果はこんなになってしまいました。(↓変数が展開されてずに文字のまま入ってしまいます)

    return ‘$link_text‘;
    <p>あかさたな</p>
    <div class=”photo-end”> </div>

    シングルで囲まれたダブルクォーテーションの前にはエスケープ文字とか他の処理が必要なんでしょうか?WordPress 2.2 が手に入ればそちらで勉強してみます。

    今回はダブルクォーテーションで囲むのはあきらめて先頭に rel=’lightbox’ を挿入することにしました。

    return "<a rel='lightbox' href='$url' title='$post_title'>$link_text</a>";

    とりあえずこれで目的は果たせました。

    my-hacks.php に関してはブラウザからのコピーでやっておりますがどうしてもエラーになります。S-JISで今回は保存してみたので BOM は間違いなく入っておりません。改行コードも LFのみ、CR/LFとか試してみても変化はないようです。

    function ke_rel_lightbox($html, $id, $size) {
    return $html;
    }
    add_filter(‘image_link/ktai_entry.php’, ‘ke_rel_lightbox’, 10, 3);

    ↑このように短くしてもエラーになりますので、これに関しては今後勉強と考え今回はあきらめます。

    あと Ktai_Style のデコメピクチャ対応希望者です。ここで一票入れときます。ホームページのほうに人気投票フォームでも作って希望の多い順に完成させるってのはどうでしょうか。

    それではよろしくお願いいたします。 Ktai シリーズのファンより (*^。^*)

    トピック投稿者 dainiti

    (@dainiti)

    return '<a href="$url" title="$post_title">$link_text</a>';

    先頭のコードが消えてしまいましたがシングルとダブルを入れ替えただけです。ビジュアルエディタでは先に間違えたような表示になります。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    とりあえず教えていただいた二つの関数の戻り値をシングルで囲んで試したところ

    ありゃりゃ。それは全然違いますよ。image_link を使うフィルター関数の中で、str_replace() とかを使ってクォート文字を置換するという意味です。

    結局、Ktai Entry の post.php を直接いじって解決してしまったんですよね??

    my-hacks.php に関してはブラウザからのコピーでやっておりますがどうしてもエラーになります。

    ひょっとすると、先頭の <?php および末尾の ?> を忘れていませんか? これがないと単なる文字列と認識されてしまうので、コードがそのまま表示されてしまいます。

    あと Ktai_Style のデコメピクチャ対応希望者です。ここで一票入れときます。ホームページのほうに人気投票フォームでも作って希望の多い順に完成させるってのはどうでしょうか。

    各社装飾メール (デコメ、デコレーションメール、デコレメール、デコラティブメール等) の対応は検討しているんですが、各社の仕様を調査する必要があることと、背景などがあるときにどう再現すればいいかで悩んでいます。とりあえずは「デコメ絵文字」のみ対応とか、限定的なサポートでやろうと思います。動画投稿とどちらが需要があるのか不明ですが、少しずつ実装してみます。期待に沿えるべく、ぼちぼちがんばってみます。

    機能の追加要望は随時受け賜っていますが、人気のある順に対応する、というのは作業工数の都合上、ちょっと勘弁してください。また、機能によっては作者のポリシーに合わないために、そのまま実装できない場合もあります (例えば、PHP4 対応はいくら要望されても対応できません)。

    トピック投稿者 dainiti

    (@dainiti)

    ありゃりゃ。それは全然違いますよ。image_link を使うフィルター関数の中で、str_replace() とかを使ってクォート文字を置換するという意味です。
    結局、Ktai Entry の post.php を直接いじって解決してしまったんですよね??

    いいえ、WordPressコアの post-template.php の中の
    wp_get_attachment_link() と
    get_the_attachment_link() の戻り値をいぢくりました。
    my-hacks.php をあきらめていたので強制執行に及びました。

    ひょっとすると、先頭の <?php および末尾の ?> を忘れていませんか? これがないと単なる文字列と認識されてしまうので、コードがそのまま表示されてしまいます。

    あ~~~~~~~~~~~~~~~ぁ そのと~~~りですぅ。
    <?php ?> でかこんだら何事もなかったように動いてくれました。これで悩んでた人って僕だけ?・・・これで胸のつかえがとれてぐっすり眠れます。今日中に解決できるとは思っていませんでした。「str_replace() とかを使ってクォート文字を置換」はこれから挑戦してみます。

    携帯はドコモしかもってないのでとりあえず、背景色なしのデコメピクチャが挿入できればいいです←(自己中?)

    それでは、ありがとうございました。今後ともよろしくお願いいたします(^^♪

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「Ktai_Entry と WP LightBox2 の相性」には新たに返信することはできません。