質問: $_request["feed_id"]; $wpdb->update( $wpdb->feedmanager, array( 'message' => "new data" ), array( 'id',$feedid ) ); } function feedmng_load_scripts(){ wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'jquery-ui-core' ); wp_enqueue_script( 'jquery-ui-dialog' ); wp_enqueue_style ( 'wp-jquery-ui-dialog' ); wp_register_script( 'feedmng-popup', wp_plugin_url.'/feed-manager/mypopup.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-dialog' ) ); wp_enqueue_script( 'feedmng-popup' ); wp_localize_script( 'feedmng-popup', 'script_data', array( 'admin_ajax' => admin_url( 'admin-ajax.php' ) ) ); } editスクリプトに以下を追加し、コンソールに "success"と表示します。success: function(){ console.log("success"); } 私のテーブル名はwp_feedmanagerで、私はそれを 'message'カラムに更新しようとしています。しかし、それはただ更新しないのですか?何をすべきですか何か提案?今後の参考のために - 問題はここにありました - 更新クエリの3番目のパラメータはarray( 'id' => $ feedid)であるべきです含まれるように!
回答: javascriptとajaxのアクションコードがそれ以外の点で正しいと仮定して、エンキューされたスクリプトを ローカライズする ことによって正しいパスでadmin-ajax.phpをターゲットにします。wp_localize_script( 'your_script_handle', 'script_data', array( 'admin_ajax' => admin_url( 'admin-ajax.php' ) ) ); 次に、javascriptで、そのurlを参照します。url: script_data.admin_ajax 編集 - ああ、初めてこれを逃した:$wpdb->feedmanagerは明示的にどこかに設定しない限り設定されない。 $wpdb->table_nameはネイティブテーブルに対してのみ機能します。それらのメンバーvarはwpdbクラスに直接ハードコードされているからです。それを文字列'wp_feedmanager'に変更してください。また、wp_テーブルの接頭辞はwp-config.phpを介して変更することができます(そして変更すべきです)。コードの移植性を高めるために$wpdb->prefixを使用してください。$table_name = $wpdb->prefix . 'feedmanager';