ホームページ  >  記事  >  バックエンド開発  >  プラグインを使用せずにWordPressでAjax呼び出しを行う方法?

プラグインを使用せずにWordPressでAjax呼び出しを行う方法?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 06:06:021045ブラウズ

How to Make Ajax Calls in WordPress Without Plugins?

プラグインなしで Wordpress で Ajax を呼び出す: 包括的なガイド

元の問題で述べたように、プラグインを使用せずに Wordpress で Ajax 呼び出しを行うプラグインでは、出力として常に「0」が表示されるなど、予期しない結果が生じる場合があります。これは、フロントエンドに ajaxurl と呼ばれるグローバル変数が存在しないことが原因です。 Wordpress は実行時にこの変数を作成しますが、バックエンドでのみ使用可能になります。

この問題を解決するには、wp_localize_script 関数を使用してフロントエンドで独自の ajaxurl 変数を作成する必要があります。これを行う方法の例を次に示します。

<code class="php">function my_enqueue() {
      wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
      wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
 }
 add_action( 'wp_enqueue_scripts', 'my_enqueue' );</code>

このコードは、ajax_url プロパティを含むグローバル my_ajax_object オブジェクトをフロントエンドに作成します。次に、JavaScript コードでこのオブジェクトを使用して、次のように Ajax リクエストを行うことができます。

<code class="javascript">jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});</code>

このアプローチを利用すると、プラグインに依存せずに Wordpress で Ajax 呼び出しを正常に行うことができます。プロジェクトの設定に一致するように、ajax スクリプトのファイル名と CDN リンクを忘れずに変更してください。

以上がプラグインを使用せずにWordPressでAjax呼び出しを行う方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。