ajax 呼び出しで query_post() のような関数を使用する方法があるかどうか知りたいですか?
ファイル _inc/ajax.php を呼び出しているとしましょう
wordpressの機能を使いこなしたいのですが、理由がわかりません。誰かが私を助けることができますか?
どうもありがとう :)
WordPress は、完全なAjax APIとともに使用する必要がある Ajax Url を提供します。
jQuery 関数を作成する必要があります。
例:
jQuery(document).ready(function($) {
var data = {
action: 'my_action',
whatever: 1234
};
jQuery.post(ajaxurl, data, function(response) {
alert('Got this from the server: ' + response);
});
});
ajaxurl 変数は、管理者側で常に使用できます。フロントエンドで使用する場合は、定義する必要があります。
次に、クエリを実行できる PHP 関数。PHP 関数をwp_ajax_your_action
アクションに関連付ける必要があります。
例:
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
global $wpdb; // this is how you get access to the database
$whatever = intval( $_POST['whatever'] );
$whatever += 10;
echo $whatever;
die(); // this is required to return a proper result
}
wp_ajax_your_action
フロントエンドで使用する必要がある場合、アクションは管理者用です。アクションは次のようになりますwp_ajax_nopriv_your_action
JSON API プラグインを強くお勧めします: http://wordpress.org/extend/plugins/json-api/。これは、最も一般的な WordPress 機能用の RESTful インターフェイスを提供し、query_post
独自のアクションを追加できるようにします。