質問: $_post['whatever']; $whatever += 10; echo 'whatever now equals: ' . $whatever; die(); } これは私のfunctions.phpの中で唯一の関数ですphp関数が機能していることを確認するために、my_action_callback()をindex.phpに追加します - そして期待どおりに "whatever now equals:10"を出力します。しかし、ajaxレスポンスは常に 'サーバーから取得:0'です。ajaxはphp関数からレスポンスを受け取ることはありません。エラーがないかどうかを確認するために.ajaxerror()を追加してみました - いいえ。私はphp関数を私の他のプラグインに追加してみました - nope。私はjqueryが私のためにajaxのビットをやっていないことを何が足りないのですか?前もって感謝します
回答: それらのadd_action関数もあなたのfunctions.phpファイルに入れてください。それらがheader.phpにある場合、ヘッダーはajaxにロードされないため、wordpressはそれらを登録しません。また、あなたはそのis_admin()チェックを必要としません。テーマのヘッダがadminに読み込まれることはありません。そのため、あなたの関数ファイルは次のようになるはずです。add_action('wp_ajax_my_special_action', 'my_action_callback'); add_action('wp_ajax_nopriv_my_special_action', 'my_action_callback'); function my_action_callback() { $whatever = $_post['whatever']; $whatever += 10; echo 'whatever now equals: ' . $whatever; die(); } そして、テーマのヘッダファイルのその部分の始まりは、このようになっているはずです。<?php $_ajax = admin_url('admin-ajax.php'); ?> <script type="text/javascript" > jquery(document).ready(function($) { それ以外は、あなたのコードはうまくいくように見えます!