Yuriko.Net 個別記事

2007-09-23
くもり

絵文字対応の WordPress 向け携帯電話閲覧プラグイン Ktai Style 0.80 リリース

ゆりこ による 22:51:30 の投稿
カテゴリー: WordPressハック
タグ: , , , , , ,

きのうに続いて、WordPress 向け携帯電話閲覧プラグイン「Ktai Style」の新バージョン 0.80 をリリースいたします。主な修正点は以下の通りです。プラグインの詳細は配布サイトをご覧ください。

  • コメントの閲覧・投稿に対応しました。
  • パスワード付きの投稿に対応しました。

以後、機能実装に関する裏話を書きます。

まず、パスワード付きの投稿への対応ですが、WordPress コアではクッキーにパスワードを保存しているのに対し、本プラグインではパスワードを都度確認させることにしました。そのため、入力フォームの送信先は wp-pass.php ではなく、そのページ自身に変更しています。そして、コメント閲覧・投稿するときは hidden フォームにパスワードを入れてページ遷移することで、パスワードの再入力を回避しています (当然、セキュリティーは落ちます)。こういう実装のため、the_content() へのフックでは実現が無理で、ks_content() タグを復活させました。

なお、WordPress の実装がまずいのか、投稿パスワードに「\」(バックスラッシュ、環境によっては円記号) を使ってしまうと認証されないようですが、本プラグインではちゃんと通ります;-)

コメント閲覧・投稿は、WordPress 本体の実装が、single.php 等で comments_template() を呼び出すという形しか想定してなくて、コメント閲覧・投稿ページを独立させるのが困難でした。けっきょく、WordPress コアのファイルをコピーして改造する形で実装しました。tags.php ファイルがかなり膨らんでいます……。

あと、WordPress の実装に問題があることに気がつきました。それは、パスワード付きの投稿へのコメントは、パスワード認証してなくても受付されてしまう動作です。通常は、認証してないと投稿フォームが出ないため投稿できませんが、特殊な方法で無理矢理コメントすれば受付されてしまいます。バグ報告するべきか。

[追記] 0.80 はバグ多いため、バージョン 0.81 をリリースしました。

トラックバック・コメント »

  1. 【WordPress】「Ktai Style」0.80導入
     先日導入いたしましたWordPressプラグイン「Ktai Style」ですが、昨晩に続き今晩もヴァージョン・アップがなされました。

    プラグイン配布元
    Ktai Style @ WordPress Plugins/JSeries
    関連記事
    絵文…

    Telminaからのトラックバック
  2.  実装お疲れ様でした。
     早速で申し訳ありませんが、携帯電話からのコメント投稿ができません。
     iモードHTMLシミュレータ、Openwave SDK、実機(W51SH)のいずれから投稿しようとしても失敗となります。

     iモードHTMLシミュレータではHTMLのソースを見ることができますので、そこで確認してみたところ、form要素のaction属性の中身が
    //wp-content/plugins/ktai_style/comments-post.php
    となっておりました。先頭にスラッシュが2つくっついているのが問題かと思われます。

     おそらくは、「tags.php」38行目(「_strip_host」関数の中)の処理に問題があるのではと思われますが、他の箇所への影響範囲をはかりかねており、本当にそこを直してよいのかどうか自信がない状態です。
     なお、「_strip_host」関数ですが、引数に、たとえば「http://www.telmina.com」を与えるとすると、「/」が返ってくることになるのではと思われます。おそらく、少なくとも私の環境では先頭にスラッシュが2つついてしまう原因はこれだと思われます。
     念のため、「_strip_host」関数が絡んでくる処理のご確認をお願いいたしたいと思います。

    Sa・Gaからのコメント
  3. ごめんなさい。tags.php の235 行目 ks_plugin_dir() 関数および、ktai_style.php の 63行目からのコンストラクターの実装ミスでした。前者は
    echo ks_siteurl() . Ktai_Style::$plugin_dir;
    と直し、後者は3か所ある「/wp-content…」から先頭のスラッシュを除去するとよいはずです。テスト環境は複数ありますが、どれもホスト名直下に WordPress をインストールしたものがないので、見付けられなかったようです。申し訳ありません。

    yurikoからのコメント

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る