WordPressのコメント欄に簡単にAjax非同期通信化する

    WEBマスター
  • 視聴回数: 0
  • 関連語句: WEBマスター
  • 画像枚数: 0
  • 投稿日時:
  • 更新日時:

コメントをワンクリックボタン式にすると1日に200件ほどの大量のコメント(スパムでは無い)を頂けるようになったので、コメントされる方にもっとスムーズに送信できるようにしました。コメントボタンをクリックするとページ遷移すること無く、その画面の状態で通信が行われ送信することができます。これをAjax非同期通信と言います。


Ajaxと聴くと一見難しそうに聞こえますが、中身はただのjQueryなのでフォーメーション(JSON)さえ覚えれば簡単です。jQueryなのでiPhoneやAndroidなどのスマホ端末にも対応しているところが見どころです。


実装コード

<?php function ajaxify_comments_script(){ ?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function() {
    $("#comment-button input").click(function() {
        $("#comment-text").val($(this).val()+$.now());
        var formdata = $("#comment-form").serialize();
        var commentbody = $("#comment-text").val();
        $.ajax({
            type: 'post',
            url: FORM_ACTION_URL,
            data: formdata
            }).done(function(data, status) {
                if(status == "success") {
                $('body').delay(100).animate({
                scrollTop: $(document).height()
                },1000);
                $("#comments-area").after('
                    <div class="comments-author">コメントが送信されました</div>
                    <div class="comments-body">'+commentbody+'</div>
                ');

                $("#comment-form").hide();
                return false;
            } else {
                alert("ERROR");
                return false;
            }
        }).fail(function(data) {
            alert("中断");
        });
    });
});
</script>
<?php
}
add_action('wp_footer', 'ajaxify_comments_script');
wp_footer();
?>



コードの解説

// WordPress誓約上、Ajaxを使用する際には関数を記述しなければならない。
<?php function ajaxify_comments_script(){ ?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function() {


// コメント簡易ボタン式のどれか一つをクリックすると実行
$("#comment-button input").click(function() {


// ボタンのテキストをそのままコメント本文へ
// $.nowは時刻。コメント重複するとスパムと認識されてしまうのでとりあえず現在の時刻を数値化し排他
$("#comment-text").val($(this).val()+$.now());


// 便利なserialize関数。formの内容をすべて一意の変数にしてくれる。
var formdata = $("#comment-form").serialize();


// コメント内容を変数に代入
var commentbody = $("#comment-text").val();


// Ajax通信開始
$.ajax({
type: 'post',
url: FORM_ACTION_URL,
data: formdata


// 通信処理が成功すれば下記を実行
}).done(function(data, status) {


// 通信が無事完了すれば下記を実行
if(status == "success") {


// 一番下へアニメーションスクロールさせる
$('body').delay(100).animate({
scrollTop: $(document).height()
},1000);


// コメントループの最後に、実際にコメント欄に挿入された時の状態を再現。
$("#comments-area").after('<div class="comments-author" style="background: #9A93FF;">コメントが送信されました、まもなく処理されます</div><div class="comments-body">'+commentbody+'</div>');

// コメント送信関連は全て撤去、これをしないと何度も連投できてしまう。
$("#comment-form").hide();


// フォルスをリターンする。
return false;


// 通信が失敗した場合
} else {
alert("ERROR");
return false;
}


// 通信できなかった場合
}).fail(function(data) {
alert("中断");
});
});
});
</script>
<?php
}

// WordPressの誓約上、このような記述が必要。いちいちfunctions.phpに記載しなくてもよい
add_action('wp_footer', 'ajaxify_comments_script');
wp_footer();
?>

wp_head()やwp_footer()は絶対に付けたくないんですが、Ajax使用するためには必要不可欠でした。裏で何をやっているかよくわかりませんが、内部構造をいじれればwp_footer()を外します。ただ、ソースを見る限りwp_footer()をつけたからといって不要なコードなど付加されていないので、良しとします。

また、このコードを使用する際は外部に読み込まず、直接テンプレートに入力(インライン化)、さらに一番最後の方に記述したほうがSEO的に有利です。ちなみにエロジンではJavaScriptはJavaScriptで生成されたJavaScript以外の全てをインライン入力にしています。そのためソースが大変読みづらいですが、GTMetrixなどで高得点を得ることができます。

    WEBマスター
  • 視聴回数: 0
  • 関連語句: WEBマスター
  • 画像枚数: 0
  • 投稿日時:
  • 更新日時:
妹「お兄ちゃんが毎晩隣でオナニーしているのです。」
  • 画像 0枚
  • PV 3,303億
  • 美少女,オナニー,姉妹
人妻
ルビを振って一言で人物関係を解説する義姉
  • 画像 16枚
  • PV 0億
  • 人妻
田舎
ベロキッスして自分の精液を含ませる森奥の鬼ムスメ
  • 画像 30枚
  • PV 3,549億
  • 田舎
おねショタ,巨乳
こうしておねショタエロ漫画は作られるゥーんだ!
  • 画像 24枚
  • PV 10,248億
  • おねショタ,巨乳
乱交,妹
一卵性双生児の似てない双子同士3P親近相姦
  • 画像 20枚
  • PV 3,574億
  • 乱交,妹
女子高生
御ナニー中突然窓から奇跡的な躍動感あふれる演出でやってきたビッチ所望のJK
  • 画像 18枚
  • PV 0億
  • 女子高生
人妻
突撃!隣のマンババア!
  • 画像 16枚
  • PV 3,648億
  • 人妻
2ちゃん
【速報】フジでおっぱいポリ放送事故wwwwwwwwwwww
  • 画像 9枚
  • PV 0億
  • 2ちゃん
女子高生
【えろまんが】二人一斉にどうやって中出ししてんだよwwww
  • 画像 28枚
  • PV 3,439億
  • 女子高生
女子大生
あ゛あ゛~~~~~っ♥ あ゛あ゛~~~~~~っ♥
  • 画像 20枚
  • PV 0億
  • 女子大生
美少女,たかやki
パンツエプロンで頑張り屋さんの天然幼い少女
  • 画像 21枚
  • PV 0億
  • 美少女,たかやki
乱交,レイプ,巨乳,フルカラー
レイプレイプレイプの強姦合法詰め合わせフルカラー同人誌
  • 画像 30枚
  • PV 22,145億
  • 乱交,レイプ,巨乳,フルカラー
巨乳,ホムンクルス
ヒェーっ!妹に手を出すなってアレほどーぅ
  • 画像 13枚
  • PV 9,969億
  • 巨乳,ホムンクルス
美少女
幼い娘がおっさんにエッチされる
  • 画像 16枚
  • PV 8,284億
  • 美少女
美少女,メガネ,姉妹
腐女子「(土下座)おでがいぢまず~おぢんぢんしゃぶらせてくだしゃい~」→
  • 画像 24枚
  • PV 4,525億
  • 美少女,メガネ,姉妹
人妻,巨乳
新婚むんむん主婦のお料理教室で本体をお料理される
  • 画像 20枚
  • PV 4,269億
  • 人妻,巨乳
ギャグ
メンヘラ彼女と優しい彼氏とボール「てんッ・・てんッ」
  • 画像 21枚
  • PV 3,524億
  • ギャグ
美少女,姉妹
徐々に感じる親近相姦をそそる妹の発情転機
  • 画像 19枚
  • PV 6,135億
  • 美少女,姉妹
乱交
こたつでふぇら
  • 画像 18枚
  • PV 3,836億
  • 乱交
女子高生,ギャグ
このえろ漫画のオチwwwwwwwwwww
  • 画像 26枚
  • PV 6,603億
  • 女子高生,ギャグ
金髪,女子高生,美少女,ギャル,ぐじら
【ぐじら】キモヲタデブとめんどくさそうにHする子ギャル
  • 画像 26枚
  • PV 10,572億
  • 金髪,女子高生,美少女,ギャル,ぐじら
純愛
たかしも若生(若くして生中出し)なんだ!
  • 画像 20枚
  • PV 6,133億
  • 純愛
お知らせ
エロジン怒りのアップデートのお知らせ(EROZINESYS_ver2.03291890)
  • 画像 9枚
  • PV 0億
  • お知らせ
女子高生,丸居まる,巨乳,むっちり
【画像あり】負のオーラが引出しから出てきたゾ
  • 画像 20枚
  • PV 0億
  • 女子高生,丸居まる,巨乳,むっちり
フルカラー,ToLOVEる
フルカラー古手川のアヘ顔破廉恥同人誌
  • 画像 38枚
  • PV 0億
  • フルカラー,ToLOVEる
NTR
えろまんがの一本一本きめ細かくよい茂るま~ん(毛)に草を生やす
  • 画像 34枚
  • PV 0億
  • NTR
巨乳
彗星にまたがってあなたに急接近ah..ah..
  • 画像 22枚
  • PV 0億
  • 巨乳
女子高生,オナニー
【えろ漫画】シャワー室でオナる合気女www【えろ動画】水泳アスリートの自慰盗撮
  • 画像 26枚
  • PV 6,342億
  • 女子高生,オナニー
巨乳,フルカラー
ってこれは明らかに発情してるメスの顔ですわゥーwwww
  • 画像 4枚
  • PV 3,438億
  • 巨乳,フルカラー
乱交,ギャル,メガネ,ビッチ,師走の翁
ヌーディストビーチに修学旅行でヤリまくりえろまんが
  • 画像 20枚
  • PV 27,820億
  • 乱交,ギャル,メガネ,ビッチ,師走の翁