11

ajax 呼び出しで query_post() のような関数を使用する方法があるかどうか知りたいですか?

ファイル _inc/ajax.php を呼び出しているとしましょう

wordpressの機能を使いこなしたいのですが、理由がわかりません。誰かが私を助けることができますか?

どうもありがとう :)

4

3 に答える 3

33

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

于 2012-05-29T22:12:47.390 に答える
1

JSON API プラグインを強くお勧めします: http://wordpress.org/extend/plugins/json-api/。これは、最も一般的な WordPress 機能用の RESTful インターフェイスを提供し、query_post独自のアクションを追加できるようにします。

于 2012-05-29T22:12:11.347 に答える