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



お勧め

ダッシュボードの「クイックドラフト」を「CodeMirror」に変更してみた(2019年11月5日 更新)

管理ページの「テーマエディター」では4.9以降「CodeMirror」が利用されている。今回はこの「CodeMirror」をプラグインで活用できないか調べた話である。

headタグのmeta(generator)タグを取り除く(2018年5月27日 更新)

標準的なWordPressのテーマで出力されるHTMLには、headタグ内に次のようなmetaタグが出力されている。
<meta name="generator" content="WordPress 3.0.5" />

Blacklist keys manager:プラグイン作ってみました(2015年5月22日 更新)

少し前から明らかにスパムと思われるコメントが投稿され、そのモデレーションメールを受け取る回数が増えてきた。あまりにもあからさまなコメントばかりなので、何らかの対策ができないか考えてみました。

5.5の機能強化:テーマ変更時に要求バージョンを確認(2020年8月12日 更新)

WordPress 5.5 RC 2が公開され、来週には正式版がリリース。変更箇所が多い「WordPress 5.5 RC 2(以降RC 2)」のソースコードを眺めていると、テーマの切り替え前にWordPressとPHPのバージョンを確認するようになっていた。

投稿内容に応じてwpautopを制御する(2013年8月13日 更新)

投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。