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
  • 投稿日時:
  • 更新日時:
女子高生
【生ガキメス女子高生】万引きJKから誘ってくるというごく自然な物語
  • 画像 20枚
  • PV 4,338億
  • 女子高生
人妻,巨乳
夫婦の夜の営みに不満を漏らすただのスケベ主婦
  • 画像 16枚
  • PV 7,833億
  • 人妻,巨乳
スク水
そりゃもっと触っていたいだろうに
  • 画像 18枚
  • PV 3,744億
  • スク水
JS,乱交,美少女
【エ漫ロ画リ】部の先生方は優しいしそれにすごく気持ち良いんだ
  • 画像 20枚
  • PV 0億
  • JS,乱交,美少女
JC,美少女
【手が性感帯】ちん○ぽこ咥える時の顔wwwww
  • 画像 22枚
  • PV 3,818億
  • JC,美少女
スク水,フルカラー
【フルカラー】思ったよりオッパイの作画が良かったエロ漫画
  • 画像 5枚
  • PV 3,286億
  • スク水,フルカラー
JS,乱交,美少女
小まなぶ生に輪姦ヌプヌップヌチュヌyッチュぱんっぱんっぱん
  • 画像 32枚
  • PV 4,304億
  • JS,乱交,美少女
女子高生,巨乳,ツンデレ
今更ツンデレのオンナwwww
  • 画像 30枚
  • PV 3,694億
  • 女子高生,巨乳,ツンデレ
二次元,女子高生
【 同人誌 】監禁した男性に無理やり濃いチュウで攻める少女・・・ぬ?
  • 画像 24枚
  • PV 0億
  • 二次元,女子高生
褐色,JS,美少女
超絶こども風味のめいっこ褐色ろ天使りのエロ漫画はこちら。
  • 画像 26枚
  • PV 5,251億
  • 褐色,JS,美少女
女子高生
JKカラオケボックス
  • 画像 17枚
  • PV 4,741億
  • 女子高生
JC,おねショタ,Hisashi
若干おねショタなえろマンガ
  • 画像 16枚
  • PV 3,782億
  • JC,おねショタ,Hisashi
ヘッドライン
追悼
  • 画像 15枚
  • PV 0億
  • ヘッドライン
フルカラー
幼なじみのよしみでマンツーマンのプール特訓
  • 画像 8枚
  • PV 0億
  • フルカラー
美少女,Hisashi,純愛,高画質
【え漫画ろ】限りなく現実に近いエロボディ【久】
  • 画像 20枚
  • PV 5,579億
  • 美少女,Hisashi,純愛,高画質
JS,美少女,Noise,メガネ
【Noise】妹いじめた同級生に兄と生活指導が性的天罰下すwwww
  • 画像 18枚
  • PV 5,903億
  • JS,美少女,Noise,メガネ
巨乳,フルカラー,むっちり,ホムンクルス
東雲さんの巨乳水着で砂浜海青缶
  • 画像 8枚
  • PV 7,095億
  • 巨乳,フルカラー,むっちり,ホムンクルス
褐色,女子高生,スポーツ
後輩水泳部の褐色女子の細くもしなやかな肉体に勃起不可避
  • 画像 22枚
  • PV 3,847億
  • 褐色,女子高生,スポーツ
おねショタ,姉妹
『悪魔的姉と少年の性的日常』家族についての作文
  • 画像 22枚
  • PV 4,281億
  • おねショタ,姉妹
金髪,美少女,小便,シュール,ギャグ
【幼女のマン汁レモネード】こどもがおかねの大切さを学ぶ漫画
  • 画像 20枚
  • PV 5,122億
  • 金髪,美少女,小便,シュール,ギャグ
割りと可愛けの無い鬼太郎みたいな女子と便所や屋上でパコパコ
  • 画像 0枚
  • PV 0億
  • 女子高生
姉妹
ケツ穴に両手をぶち込んで内蔵器官の直腸から掴んで挟むように卵巣をもみ砕く過激なえろまんが
  • 画像 25枚
  • PV 4,574億
  • 姉妹
乱交,美少女,鬼,貧乳
ツノの生えた鬼の小娘に一気に腹部上部の奥までえっさほっさ
  • 画像 20枚
  • PV 24,241億
  • 乱交,美少女,鬼,貧乳
巨乳,オナニー
私を愛したスパイ 私が愛したオッパイ
  • 画像 18枚
  • PV 0億
  • 巨乳,オナニー
美少女
幽霊セっクス
  • 画像 20枚
  • PV 3,197億
  • 美少女
お知らせ
新年のご挨拶
  • 画像 22枚
  • PV 5,191億
  • お知らせ
乱交,妹
一卵性双生児の似てない双子同士3P親近相姦
  • 画像 20枚
  • PV 3,574億
  • 乱交,妹
褐色,美少女,40010試作型,スク水
援助【四万十試作型】交際 日焼けスク水ちっパイ
  • 画像 26枚
  • PV 3,364億
  • 褐色,美少女,40010試作型,スク水
美少女,大塚麗夏,シュール,ギャグ,高画質
【成人漫画LO】未成熟の少女のカラダをかたちづくるために、どうしても欠かせないものは・・・それは・・
  • 画像 25枚
  • PV 10,318億
  • 美少女,大塚麗夏,シュール,ギャグ,高画質
筋肉,女子高生,美少女
【凌辱の大容量】筋肉と苦しみとSEX
  • 画像 32枚
  • PV 3,994億
  • 筋肉,女子高生,美少女
人妻,巨乳

よくわからんが欲求不満の人妻とこれ以上ないってくらいのスーパーエッチ

  • 画像 21枚
  • PV 50,098億
  • 人妻,むっちり
ひとづま、おねショタ

旦那と朝のチュウしている姿を見て発情する隣の坊主と結構攻める団地妻

  • 画像 16枚
  • PV 117,101億
  • 人妻,おねショタ