wordpressプラグイン WP user frontend で投稿公開時に投稿者に通知メールを送信させる方法について
php初心者です。
wordpressサイトにWP user frontendを導入してユーザーからの質問投稿を表示させる機能を追加しています。管理者の確認後に公開するようにしていますが、公開時にユーザーへの通知メールが行くようにしたいと思っています。
そのため、下記の情報を参照させていただき、プラグインを作ってみました。
https://www.paka3.net/wpplugin43/
下記の内容です。
add_action('transition_post_status', 'paka3PostMail', 10, 3);
function paka3PostMail($new_status, $old_status, $post){
$a_address = $_POST['q_address'];
$mail_address =array( '*******@example.com',$a_address );
$subject = "質問公開のお知らせ";
$content = $post->post_title;
$link = get_permalink($post_ID);
$header = array( 'From: *******@example.com' );
$message =<<<EOS
質問が公開されました。
※今回のタイトル
「{$content}」
{$link}
EOS;
if ( 'publish' == $new_status && 'publish' != $old_status && 'question' == $post->post_type ) {
wp_mail( $mail_address, $subject, $message, $header );
}
}
上記の内容で、投稿タイプがquestionの場合、ステータスが公開(publish)になったタイミングで管理者(*******@example.com)と投稿者充てに通知メールを送付するようにしたいのですが、管理者にしかメールが送付されません。メールの内容は想定通りで、content、linkの値は問題なく取得できています。
wp user frontendで投稿者が入力するメールアドレスのMeta keyをq_addressとしているのですが、この値が取得できていないようです。
この記述では誤りだと思うのですが、どうすればwp user frontendで投稿者が入力した値を取得し、この関数でメールを送付できるのか、ご教授いただければ幸いです。
0 likes