非会員制投稿サイトを作成しています。
やりたい事
会員登録をせずに、ACFフォームにてフロント側から投稿ができる仕様にしていますが、
投稿された記事にコメントがあった際、ACFで作成したメールアドレスにコメントがあった通知を飛ばす仕様にしたいと思っています。
送信されるメールの送信者名と送信元メールアドレスを変更する方法は、いくつも見つける事ができたのですが、
送信先を変更、且つ任意の送信先に変更する方法が見つかりませんでした。
<label for="acf-field_5f0034d07dcda">メールアドレス</label></div> <div class="acf-input"> <div class="acf-input-wrap"><input type="text" id="acf-field_xxxxxxxxxxxxx" name="acf[field_xxxxxxxxxxxxx]" placeholder="コメント通知を受け取る場合は入力してください。"/></div></div> </div>
上記で入力した場合のみ、
コメントがされた際の通知が上記テキストボックスに入力したアドレスに飛ぶようにしたいと思います。
※入力されていない場合はコメント通知は無しで大丈夫だと思います。
また、不要な情報かもしれませんが、コメント関連はfunctions.phpに下記のように記述して、通知内容を変更しています。
function custom_comment_moderation_text( $notify_message, $comment_id ) { global $wpdb; $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $comment = get_comment($comment_id); $post = get_post($comment->comment_post_ID); $comment_author_domain = @gethostbyaddr($comment->comment_author_IP); $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'"); $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $comment_content = wp_specialchars_decode( $comment->comment_content ); switch ( $comment->comment_type ) { case 'trackback': // トラックバック $notify_message = "「{$post->post_title}」に新しいトラックバックがありました。\r\n"; $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n"; $notify_message .= "\r\n"; $notify_message .= "トラックバック元: {$comment->comment_author}\r\n"; //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n"; //$notify_message .= "URL: {$comment->comment_author_url}\r\n"; $notify_message .= "トラックバックの概要: \r\n"; $notify_message .= "{$comment_content}\r\n"; $notify_message .= "\r\n"; break; case 'pingback': // ピンバック $notify_message = "「{$post->post_title}」に新しいピンバックがありました。\r\n"; $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n"; $notify_message .= "\r\n"; $notify_message .= "ピンバック元: {$comment->comment_author}\r\n"; //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n"; //$notify_message .= "URL: {$comment->comment_author_url}\r\n"; $notify_message .= "ピンバックの概要: \r\n"; $notify_message .= "{$comment_content}\r\n"; $notify_message .= "\r\n"; break; default: // コメント $notify_message = "「{$post->post_title}」に新しいコメントがありました。\r\n"; $notify_message .= "\r\n"; $notify_message .= "コメントの確認\r\n"; $notify_message .= "↓↓↓↓↓↓↓\r\n"; $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n"; $notify_message .= "\r\n"; //$notify_message .= "投稿者: {$comment->comment_author}\r\n"; //$notify_message .= "IP: {$comment->comment_author_IP} ({$comment_author_domain})\r\n"; //$notify_message .= "メールアドレス: {$comment->comment_author_email}\r\n"; //$notify_message .= "URL: {$comment->comment_author_url}\r\n"; //$notify_message .= "【コメント】 \r\n"; //$notify_message .= "{$comment_content}\r\n"; //$notify_message .= "\r\n"; $notify_message .= "★☆{$blogname}☆★\r\n"; $notify_message .= home_url() . "\r\n"; $notify_message .= "\r\n"; break; } return $notify_message; } add_filter( 'comment_moderation_text', 'custom_comment_moderation_text', 10, 2 ); add_filter( 'comment_notification_text', 'custom_comment_moderation_text', 10, 2 );
登録制のサイトであれば良いのですが、
非会員制と言う部分が大きなネックと感じており、
どうにか出来ないかと模索しておりますが、
先述の通り送信者名と送信元メールアドレスを変更する方法ぐらいしかたどり着けず、ヒントすら見えない状態です。
ぜひ、お知恵をお借りできれば幸いです。
お手数では御座いますがよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 07:16
2020/07/29 08:41