###前提・実現したいこと
アクションフック
transiton_post_status関数を使い
投稿時メールを飛ばしたい。
###発生している問題・エラーメッセージ
メールを飛ばす処理だけを
サイトを開くときに読み込むindex.phpになどに書くと
サイトを開くだけでメールが飛ぶのは確認できています。
しかしアクションフックを利用した
条件付きで飛ばす処理をするときに
functions.phpに書くのですが
全て駄目でした。
###該当のソースコード
function send_email($post_ID) {
//送り先メルアド
$friend = 'test_n@test.co.jp';
//ヘッダ情報(送り主(自分)の情報)
$headers = 'From: 管理人 <my_mail@test@c3soft.com>' . "\r\n";
//post_IDを元に投稿記事情報を取得
$permalink = get_permalink($post_ID);
//post_IDを元に記事情報を連想配列で取得
$post = get_post($post_ID, ARRAY_A);
//ブログ記事タイトルを変数に
$post_title = $post['post_title'];
//メール送信('送り先メルアド','メールタイトル','本文','ヘッダ情報');
wp_mail($friend, 'ブログを更新しました', $post_title.':'.$permalink, $headers);
return $post_ID;
}
add_action('publish_post', 'send_email');
?>
###試したこと
調べたら出てくるソースは
全てfunctions.phpに書き、試しましたが
何か設定や問題があるのか、全く動きません。
###補足情報(追記)
10.11.12.176 - - [15/Nov/2017:13:35:22 +0900]
"POST /syanai/wp-admin/admin-ajax.php HTTP/1.1"
200 261 "http://****/**/"
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/61.0.3163.100 Safari/537.36"
Nov 15 13:40:16 localhost sendmail[5659]: vAF4eF4u005657: to=*******@yahoo.co.jp,
ctladdr=apache@localhost.localdomain (48/48), delay=00:00:01, xdelay=00:00:00,
mailer=esmtp, pri=150615, relay=mx5.mail.yahoo.co.jp. [183.79.16.246],
dsn=2.0.0, stat=Sent (ok dirdel