check_ajax_referer

説明

bool check_ajax_referer( [ mixed $action = -1 [ , string $query_arg = false [ , bool $die = true ] ] ] )
AJAXリクエスト時にnonceパラメータを検証する。

パラメータ

  • $action
    ハッシュ生成時の文字列または数値を指定(省略時は-1)。
  • $query_arg
    nonce用ハッシュ値のタグ名を指定(省略時はfalse)。
  • $die
    nonceパラメータの検証結果が無効な場合に強制終了する場合はtrueを指定(省略時はtrue)。

返り値

チェックの結果、パラメータが有効な場合はtrueを、無効な場合はfalseを返す。ただしパラメータ$dieがtrueでチェック結果がfalseの場合は、リクエスト処理が終了(die)となる。

注意

check_admin_referer関数は、フォームサブミット時のnonceパラメータを検証に用いるが、本関数はAJAXリクエスト時のパラメータを検証する場合に用いる。nonceパラメータ名は、パラメータ$query_argの値、'_ajax_nonce'、'_wpnonce'の順にその有無が確認され、先に見つかったものがnonceパラメータとなる。

なおnonceパラメータの無効時に独自の処理を行う場合は、パラメータ$dieにfalseを指定する。


使用例

  • AJAXリクエスト時にnonceパラメータを検証する。
    <?php check_ajax_referer( 'my-action' ); ?>
  • AJAXリクエスト時にnonceパラメータ名'my-ajax-nonce'の値を検証する。
    <?php check_ajax_referer( 'my-action', 'my-ajax-nonce' ); ?>
  • AJAXリクエスト時にnonceパラメータを検証し、検証結果を調べる。
    <?php if ( check_ajax_referer( 'my-action', false, false ) ) : ?>

フィルター

直接実行するフィルターはありません。

アクション

[2.1.0]検証結果を返す直前に'check_ajax_referer'アクションを呼び出す。パラメータ$actionには本関数が受け取った値が、$resultには検証結果となる。
do_action( 'check_ajax_referer', $action, $result );

ソースファイル

/wp-includes/pluggable.php.php

最終更新 : 2014年07月19日 12:37



お勧め

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

投稿一覧に独自リンクを追加する(2013年10月16日 更新)

管理者ページの「投稿一覧」や「固定ページ一覧」の各投稿記事はマウスポインタを移動すると、「編集」や「クイック編集」といったリンクが表示される。このリンクに独自のリンクを追加する方法を調べてみた。

HTML編集モードに定型文ボタンを追加する(2011年6月1日 更新)

投稿編集ページにはビジュアル編集モードとHTML編集モードがあり、それらを拡張するプラグインも多数存在している。そういったプラグインを利用するのもいいのだが、仕組みを理解するのも悪くないはず。というわけで、ここではHTML編集モードのボタンの仕組みと定型文を挿入するボタンを追加する方法を紹介する。

投稿日の検索が自由自在に(2015年3月7日 更新)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。