次のコードを使用して、検証 (jQuery Validate プラグイン) を使用して、Wordpress で単純な Ajax 連絡先フォームを作成しようとしています。
HTML
<script type="text/javascript">
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
</script>
JS
$("#form").validate({ //jquery validate plugin
... // rules
submitHandler: function(form) {
var data = $('form').serialize();
$.ajax({
url: ajaxurl,
type: "POST",
data: data,
cache: false,
action: 'sendmail',
success: function (html) {
... // succesful message
}
});
return false;
} // end submitHandler
}); // end Validate
関数.php
function send_my_mail(){
... //sends email
}
add_action('wp_ajax_sendmail', 'send_my_mail');
add_action('wp_ajax_nopriv_sendmail', 'send_my_mail');
フォームを送信すると、ブラウザ コンソールは次の OK メッセージを取得します。
POST http://www.domain.com/wp-admin/admin-ajax.php 200 OK 3.45s
しかし、メールは送信されませんでした。コードの何が問題なのかわかりません!