web-dev-qa-db-ja.com

AJAXヘルパー関数内の投稿情報を取得する

ユーザーがクリックできる投稿内にボタンがあります。クリックすると、AJAX呼び出しが行われます。

私の質問は、私のPHP AJAXヘルパー関数(私のテーマのfunction.phpにあります)の中で、例えばリクエストが送信された投稿のIDをどのように取得できるかです。 。

マークアップからIDを取得してAJAX呼び出しで渡すことができますが、これは面倒です。

<article id="post-12">
<!-- article content -->
</article>


// JS
var postID = $("article").attr("id");

もっと良い方法はありますか?おそらくアクセス可能なある種のグローバル?

1
aprea

グローバルを宣言するには、 wp_localize_script() を使用します。

例:

wp_localize_script( 'my-ajax-request', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );

クエリ結果をそこに保存し、後でそれらにアクセスすることができます。

0
kaiser

これがループ内にある場合は、the_ID()またはget_the_ID()を使用して値を渡すことができます。明示的に伝えない限り、どのようにしてヘルパー関数が投稿が何であるかを知ることができるかわかりません。

0
helenhousandi