質問: ajax対応のプラグインを書くための好ましい方法は何ですか? ajax呼び出しを処理するための推奨される方法は何だろうか。 postを処理するために同じプラグインphpファイルを使うべきですか、それとも別のものを使うべきですか?どちらがきれいか、安全か?
回答: 「より安全でクリーンな」方法は、ワードプレスとwp_ajaxフックに付属のadmin-ajax.phpを使用してプラグインファイルから処理関数を呼び出し、呼び出しの整合性を確認するにはwp-nonceを使用することです。例えば:あなたのajax jquery呼び出しは<script type="text/javascript" > jquery(document).ready(function($) { var data = { action: 'action_name', whatever: '1234', _ajax_nonce: '<?php echo wp_create_nonce( 'my_ajax_nonce' ); ?>' }; // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php // if you need it on a public facing page, uncomment the following line: // var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; jquery.post(ajaxurl, data, function(response) { alert('got this from the server: ' + response); }); }); </script> プラグインファイルに追加//if you want only logged in users to access this function use this hook add_action('wp_ajax_action_name', 'my_ajax_processing_function'); //if you want none logged in users to access this function use this hook add_action('wp_ajax_nopriv_action_name', 'my_ajax_processing_function'); *ログインしているユーザーとゲストがajaxで自分の機能にアクセスするようにしたい場合は、両方のフックを追加してください。 * action_name はajax postのaction値と一致する必要があります。それからあなたの関数で要求が有効なソースから来たことを確認してくださいfunction my_ajax_processing_function(){ check_ajax_referer('my_ajax_nonce'); //do stuff here } お役に立てれば