News」ウィジェットが興味深い日本語が含まれていないコメントを無効化する管理画面の'アイキャッチ画像'を'写真'に変える購読者は管理者ページのアクセス禁止この記事は最後に更新してから1年以上経過しています。News」ウィジェット。ユーザーが指定した地域近隣で開催されるイベント情報を表示してくれるウィジェットで、この中のフォームがちょっと興味深かった。beta-2をもとにしており、以降のバージョンで変更される可能性があることをあらかじめ断っておく。News」ウィジェットの「地域登録フォーム」は通常は非表示になっており、「鉛筆」アイコンをクリックすることで表示と非表示を切り替えできる。この地域登録フォームのHTMLは次のようになっている(便宜上、空白文字を除外)。class="spinner"></span></form>とてもシンプルな内容だが、「クイックドラフト」ウィジェットなどにある「クロスサイトリクエストフォージェリ(CSRF)」対策でおなじみの「nonce」設定が見当たらない。「nonce」設定をどこで行っているのか気になったので、リクエストの流れを追ってみた。AJAXのリクエストハンドラを探す4.8で追加されたAJAX関連を見ていくと、/wp-admin/includes/ajax-actions.phpにwp_ajax_get_community_events関数が追加されている。check_ajax_referer関数が呼び出されており、nonce値のチェックは行われていることがわかる。News」ウィジェットのあるページに出力されていると予想して出力されたHTMLソースを見てみると、フッター部分のJavaScriptに次のような記述が見つかりました(そのままだと見難いので整形)。wp_localize_script関数を使っていました。communityEventsData変数のconce値は、「地域登録フォーム」で「送信」ボタンが押された場合に動作する/wp-admin/js/dashboard.jsのgetEventsメソッドにおいてAJAXリクエスト時に使用されている。)wp.ajax.postメソッドの第1パラメータで指定している'get-community-events'がWordPressのAJAXリクエストのactionパラメータ、第2パラメータが実際に送信されるパラメータ(この場合は$_POSTに格納される内容)のようだ。これからのAJAXリクエストフォームJavaScriptのプログラム要素はファイルに記載し、リクエスト時の状況に応じて変動するデータをwp_localize_script関数で動的に出力するこの方法は個人的には好ましい。プラグイン開発においてフォームからAJAXリクエストする方法として参考にしたいと思う。)テキスト内のURLを抽出する。)コンテンツ内の抜粋に適したブロックをレンダリングする。)ユーザー数が多いかを判定する。)ハッシュ用のソルトを取得する。)最大メモリー使用量を増やす。©12NetWordPress私的マニュアル主にjQueryのメモPHPExcelのノートWebの。