jQueryを利用してajaxで非同期通信をおこないメールの送信ボタンの表示とwp_mailでメールを送信する処理をする。

cart.php

[code language=”php”]
<script>
var mail_path = "<?php echo get_stylesheet_directory_uri()?>/path/estimate.php"
console.log(mail_path);
jQuery(function () {
jQuery(‘#estimate_mail-button’).toggle(
function () {
jQuery.ajax({
url: mail_path,
data: {
item_name: ‘商品の名前’,
item_price: ‘2000’,
item_quantity: ’10’
},
success: function (data) {
jQuery(‘#estimate_mail-ajax’).html(data);
jQuery(‘#estimate_mail-textStatus’).text(‘送信成功’);
},
error: function (data) {
jQuery(‘#estimate_mail-textStatus’).text(‘送信失敗’);
}
});
},
function () {
jQuery(‘#estimate_mail-ajax’).html(”);
jQuery(‘#estimate_mail-textStatus’).text(”);
}
);
});
</script>

<div id="estimate_mail">
<p>
<button id="estimate_mail-button">見積もりを送信する</button>
<span id="estimate_mail-textStatus"></span>
</p>
</div>

[/code]

estimate.php

[code language=”php”]
<?php
function estimate() {
require_once("../../../../wp-load.php");

wp_mail( ‘[email protected]’, ‘The subject’, ‘The content’);
}
estimate();

[/code]

参考URL