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



お勧め

ショートコードを使ってテーマ内の画像URLを簡単に指定する(2018年5月27日 更新)

投稿記事の中で画像パーツを使いたいときがある。画像パーツの配置場所は、/imgディレクトリのようなテーマ外の場合と、/wp-content/themes/mytheme/imagesディレクトリのようなテーマ内の場合があり、今回は後者のケース。ショートコードを使って投稿記事の画像ファイルのURLを記述する方法を紹介したい。

リクエスト応答を終了する前に何かを処理する(2013年9月26日 更新)

PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。

投稿情報を連想配列で参照する(2018年5月27日 更新)

投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。

段落ブロックに日付・時刻の入力支援を実装した(2023年1月25日 更新)

ブロックエディターには文字入力を支援するAutocompleteがある。自作ブロックだけでなく既存のブロックに適用できるため、ブロックの利用シーンを踏まえた入力支援機能を追加できる。

ブロックエディターのタグ入力にタグクラウド機能を追加した(2019年1月10日 更新)

ブロックエディターのタグ入力には「よく使われているタグから選択」から表示される「タグクラウド」がない。ブロックエディターの不満なところのひとつがこれであり、うまく解消することができないか考えてみた。