web-dev-qa-db-ja.com

Wordpressのadmin-ajax.phpに組み込まれているものを使う意味は何ですか?

Admin-ajax.phpを使用することが、次のようなことよりも有利である理由を理解しようとしています。

add_action ('wp_loaded', 'my_ajax');
function my_ajax() {
   // Do Ajax, Check $_POST
   die();
}

JQueryのajaxでは、ブログのインデックスを指しているだけです。

admin-ajax.phpは、スクリプトを登録してフックを追加し、admin-ajax.phpを指すようにjs変数urlを設定してからwp_ajax_nopriv_ vs wp_ajax_を使用して、単純なことをやや複雑にしているようです。言うまでもなく、バックエンドとフロントエンドが混在しているのは変なことです。私はそこに類推があると確信しています。

それでなぜそれを使うのですか? admin-ajax.phpはオーバーヘッドが少なくなりますか?それは純粋に標準的なものですか?それについて何か不思議なことはありますか?使わないことで何を見逃していますか?

2
true

まず、WordPressの多くのことと同じように、誰かが「これをきちんとして便利にしましょう」と決心したわけではありません。それは誰かが何かを一緒に平手打ちしたようなものでした、それからadminでもっと使われるようになり、そしてそれはadminでたくさん使われるようになりました。それともこれらの線に沿って何か。

第二に、それがすること、知っていることがそれほど多くないいつも同じことをします。フロントエンドの任意の部分へのリクエストが何をしているのかnoがわかりません。分析プラグインが実行されていて、ページビューとしてカウントしているとどうなりますか?季節性URLを処理する複雑なリダイレクトロジックがあるとどうなりますか?どうすれば、どうすれば….

Ajaxエンドポイントは、ajaxの意味です。

  • コンテキスト用にDOING_AJAX定数を宣言しています。
  • それはHTTPヘッダとものを設定します
  • それはあなたにユーザ/匿名の区別を含む基本的なコード編成規約を与えます
4
Rarst