記録

WordPressを実践勉強中、ajaxについてうにゃ。


WordPressでajaxを動かそうするとき、WordPressのルールに
則って動かさないと動かないらしい。
なので、このような記述を書かないといけない。
まず、非同期処理の送信先に、admin-ajax.phpというファイルを指定。
そこへPOSTかGETしないといけない。そしてデータとして
アクションさせるファンクション名を記述して
上げないといけないらしい。
こんな感じになる。

$( '#submit' ).on( 'click', function(){
    $.ajax({
        type: 'POST',
        url: <?=admin_url('admin-ajax.php')?>,
        data: {
            'action' : 'hoge_f',
        },
        dataType: "json",
        success: function( obj){
            alert( obj );
        }
    });
    return false;
});

次にWPテーマのファンクションファイルに下記を追加記述。

function hoge_f(){
echo json_encode($_POST);
    die();
}
add_action( 'wp_ajax_hoge_f', 'hoge_f' );
add_action( 'wp_ajax_nopriv_hoge_f', 'hoge_f' );

ここでミソなのが、die();という部分、これを除けると0という文字も出力されてしまう。
ちなみにwp_ajaxがログイン時の振る舞い、wp_ajax_noprivがログアウト(=訪問者)時の
振る舞いだそうだ。
この2つの勘所だけ覚えとけばWordPressで非同期処理が
行えるのではないだろうか、もっと詳しく知りたい場合、admin-ajax.phpの中身を
見たらよいのだろうけど、にわかWordPress職人さんはコレだけ
覚えとけば良さそうだと。
 

片言の日本語より。前のページ

映画、ブレードランナー2049を観てきましたよ。次のページ

関連記事

  1. 記録

    映画、ヴィンセントが教えてくれたことを観てきましたので感想なんかを。 #映画レビュー

    映画、ヴィンセントが教えてくれたことを観てきましたので感想なんか…

  2. 記録

    映画、アベンジャーズ/エイジ・オブ・ウルトロン #映画レビュー

    映画、アベンジャーズ/エイジ・オブ・ウルトロンを観てき…

  3. 記録

    ドメインを使用(登録)する際に住所、名前がわからないようにするには?

    ドメインを登録する際に住所、名前がわからないようにするには、代行サービ…

  4. 記録

    うだつが上がらない自分。

    どこに行っても3年か4年で転職している自分。何故、辞めているのかと…

  5. 記録

    ANA旅割計算の締め切り日表示するアプリを作ってみました。

    ANA旅割計算の締め切り日表示するアプリを作ってみました。Andro…

PAGE TOP