こんばんは、本日はWordPressとブラウザとの間でAjax通信する方法について勉強したので紹介したいと思います。
今回参考にしたサイトは次のサイトです。
Ajex通信をする方法について
調べたところ、Ajex通信とはネット上でデータのやり取りを行う通信規格のようなものらしいです。
今回はWordPressを使って、ウェブとサーバ間での試験的な通信を行います。
具体的な操作方法に関しては以下の通りです。
- index.phpに以下のコードを追加する。
<script> var wp_url_admin_ajax = '<?php echo admin_url('admin-ajax.php'); ?>'; </script> <script> jQuery(function ($) { $.ajax({ type: 'POST', url: wp_url_admin_ajax, data: { 'action': 'tell_me' }, success: function (response) { json = eval("(" + response + ")"); if (json.err) { result = "error:404"; } else { console.log(json); } } }); }); </script>
2. function.phpに以下のコードを追加する
add_action('wp_ajax_tell_me', 'tell_me'); // ログイン状態のユーザーからのアクセスで動作する add_action('wp_ajax_nopriv_tell_me', 'tell_me'); // 非ログインのユーザーからのアクセスで動作する function tell_me() { $res = "answer"; echo json_encode($res, JSON_UNESCAPED_UNICODE); die(); }
動作について
上記サンプルコードでは、WordPressのサイトにアクセスした時に、Ajax通信でサーバーから受け取った「answer」という文字列を、コンソールログに表示するようようです。