wordpress テクニカルメモ⑤

wordpressでWeb拍手と言えばwp-webclapというすばらしいプラグインがありますが、もっと気軽に送信してもらうために『AjaxでWeb拍手を送信するプラグイン』を自作したみたよ、というお話です。




▼概要
気軽にWeb拍手を押してもらえるように、画面が切り替わらないAjaxでweb拍手を送信するプラグインです。
同一サーバー内なら一言メッセージもAjaxで送れます。送るためのパラメータも設定可能です。
なお、公式Web拍手CGIにもAjaxライクに送れますが一言メッセージは送れません。

お返し画面が表示されないWeb拍手に意味があるのか・・・とか突っ込んじゃいけません (^-^;;
あくまで気軽に押せるのが重要です (^^A



▼ダウンロード
名前はAjax-clapといいます。
wp2.5で動作確認をしております。
ajax-clap.zip ( ver 0.5 )

[2008/07/06 23:58追記] 念願のGUI化しました。






▼使用方法
設定パネルの『Ajax clap 』から各種設定をしてください。

【Web拍手送信先】
公式web拍手などを使う場合は『外部のCGI』を選択してください。
Blogが設置されているサーバーのCGIを使う場合は『サイト内のCGI』を選択してください。

【Web拍手を送るURL】
リクエストの送信先となるURLです。
CGIのリクエストを送るURLを入力してください。

【web拍手の利用ID】
公式web拍手などを使う場合のIDです。
公式web拍手などを使う場合は利用者IDを入力してください。
『サイト内のCGI』が選択されている場合はこの設定は無視されます。

【「ID」パラメータ】
公式web拍手などを使う場合のパラメータです。
特に変更する必要はありません。
『サイト内のCGI』が選択されている場合はこの設定は無視されます。

【「コメント」パラメータ】
Blogが設置されているサーバーのCGIを使う場合のパラメータです。
設置されているCGIプログラムが受け取るパラメータを入力してください。
『外部のCGI』が選択されている場合はこの設定は無視されます。

【送信ディレイ】
『外部のCGI』が選択されている場合の待ち時間です。
送信完了のみなし時間を入力してください。

【挿入場所 】
web拍手のリンクを挿入する場所です。
テンプレートファイルに直接記述する場合は自動挿入しないを選択してください。

【送信イメージ】
送信中に表示されるイメージです。
ajax clapのプラグインフォルダ内のものを指定します。
独自のものに変更する場合は同フォルダにアップロードし、ここにファイル名を入力してください。





▼細かい仕様
POSTで送る場合、一言メッセージはS-JISのエンコードで送ってます。
どうやら国内のCGIではS-JISが主流っぽいのでこういう仕様にしました。
受け取り側のCGIがUTF-8やEUCなどになってる場合は注意してください。

外部CGIには大きさが0のiframeでGetクリエストを出してます。
苦肉の策です (@_@)
なのでCGI側のレスポンスは確認してません。ディレイ設定だけ送信完了とみなしてます。
外部のCGIを使うときは慎重にディレイ設定をしてください。

テンプレートファイルに直接Web拍手リンクの場所を指定したい場合、
外部CGIの場合は clap_link()
内部CGIの場合は ajax_clap_link()
と記述してください。





▼謝辞
AjaxでS-JISのエンコードを使うためにヌルコムアーカイブス・デジタル制作室さまのescape() 関数ライブラリを使用させていただいております。また一言を送るためのwindowフォームにはPrototype Window Classを使用させていただいております。

このエントリをつぶやく このエントリーを含むはてなブックマーク この記事をクリップ! Yahoo!ブックマークに登録 Bookmark this on Delicious Buzzurlにブックマーク FriendFeedで共有 Googleブックマークに追加 FC2ブックマークへ追加

「wordpress テクニカルメモ⑤」 に対して14つコメントがあるよ

  • Vis

    こんにちははじめまして。
    すごくいいですね、このプラグイン。
    さっそく設置させていただきました。
    ただ、一言送信フォームのレイアウトが大分崩れるみたいです。
    FireFox、Safari、Operaでは大丈夫だったのですが
    WinIE7ではフォームの表示がでませんでした。
    GUI化も楽しみにしています。がんばってください!

  • らもゆん(携帯電話)

    こんばんわ。
    報告ありがとうございます。

    たぶん利用してるライブラリの「Window Class」が古いため起きるバグだと思います。
    以前からIE6用に無理にfixedしてる側面がありましたので。。。

    期待させて申し訳ないのですが、私現在ネットに繋げないので、色々な検証ができない状態です。
    マクドナルドのホットスポットを利用するなりしてプラグインの一時的な修正はできますが、GUI化などはちょっと難しいです。すいません。

    IE7で動かない件だけでも今週中には直そうと思います。

  • らもゆん

    色々調べてみた結果、どうもIE7だと表示エフェクトで崩れるようなので修正しました。
    暫定的な処置ですが、これで解消されたと思います。

    また何かあったら言ってくださいね (^_^)/~

  • G5

    はじめまして

    検索してたどり着きました。

    色々とやってみましたが、初心者の私には配布されているWordpressのテーマファイルのindex.phpのどこにを付ければいいのかわかりませんでした。付けてみても表示されません(涙)。恐らく検討違いな場所に付けるのかと思います。

    GUIがあるととても助かります。

    ご多忙かと思いますが、是非ともご検討願います。

  • らもゆん

    お待たせしました。
    GUI化したものが完成したので試してみてください。

  • imo

    はじめまして。
    つい先ほど設置させていただきました、これは便利ですね。
    ですが、このプラグインを有効にすると[gallery]等の
    ショートコードが機能しなくなるのですが、環境の問題でしょうか?
    拍手でまともに動くのはこちらのプラグインだけですので、
    Gallery側で別の方法を考えてもいいのですが。

  • 有紀菜

    はじめまして。
    WP3.1を使っていて、Web拍手をPatipatiで設置したかったので
    こちらが便利で嬉しく思います。
    ところで、こちらのプラグインを有効にしてから、
    Firefoxでは正常に拍手できるのに、
    IE8ではリンクが出るだけで押しても何も起こりません。
    しかもこちらのサイトの拍手なら、IE8でもちゃんと拍手できるんです。
    プラグインを有効化して設定する以外に何かする必要があるのでしょうか?
    よろしくお願い致します。

  • らもゆん

    はじめまして。らもゆんです。
    現象すると他のプラグインやガジェットと干渉している可能性があります。
    差し支えなければ他に使用しているプラグインなどを教えていただけますか?

  • 有紀菜

    お手数おかけします。
    使用しているプラグインは
    Category Order
    Contact Form 7
    Lightbox 2
    Smart Update Pinger
    WP Super Cache
    WPtouch
    Simple Tags
    です。

  • らもゆん

    遅くなり申し訳ありません。
    現象確認しました。
    『Lightbox 2』が本プラグインのprototype.jsと競合するため起きるようです。
    同等機能の『jQuery Lightbox』などを使っていただくか、
    こちらのバージョンをお使いください。
    ajax-clap.zip ( ver 0.5 without prototype.js )
    ※Lightbox 2が有効でないと動きません。

  • 有紀菜

    こんばんは!
    教えていただいたとおり、
    Lightbox2を停止してjQuery Lightboxにしたところ
    正常に動作致しました。
    とても便利な機能なので使えるようになって嬉しいです(^^)
    ありがとうございました!

  • rinko

    こんばんは、初めまして。
    この度こちらのプラグインに辿り着き、
    設置も済み、動作確認もできました。
    素敵なものをありがとうございます。

    ところで、このプラグインの挿入場所を
    できれば自分で設定したいのですが、
    テンプレートにはどう書いたらいいのでしょうか。href=""のなかにと書けばいいのかと思い、
    自分なりに頑張ってみたのですが、
    いまいちPHPをよく理解しておらず、
    うまくいきませんでした。
    初心者丸出しの質問で申し訳ありませんが、
    ご教授頂ければ幸いです。

    どうぞよろしくお願いします。

  • らもゆん

    こんばんわ、はじめまして。
    返信が遅れてすいません。

    テンプレートへの記述方法ですが
    記事を表示する部分(home.phpなど)で
    以下の記述を追加してください。
    ------------------------------------------
    < ?php ajax_clap_link() ?>
    ------------------------------------------
    追加する位置ですがhave_postsのループ内である必要があります。
    一般的には日付やカテゴリーを出している辺が良いかと思います。

  • rinko

    こんばんは。返信ありがとうございます。
    テンプレートの好みの位置に、
    無事プラグインを追加できました。
    教えて頂いてありがとうございました。

コメントする

名前 (任意)

メールアドレス (任意)

ホームページ (任意)



本文 (必須)