add_filter('kboard_latest_alerts_subject', 'my_kboard_latest_alerts_subject', 10, 2);
function my_kboard_latest_alerts_subject($subject, $content){
$board = $content->getBoard();
$subject = '['.$board->board_name.']';
return $subject;
}
알려주신 방법과 여기저기 자료를 모아서 해봤지만. 지식이 부족하여
다시 문의 드립니다.
[게시판제목] 까지는 제목에 붙였습니다.
여기에 게시물의 제목까지 붙여넣고
메일의 내용은 게시물 내용 들어가고
보낸 사람 메일에는 작성자의 이름 또는 메일이 추가가 됐으면 좋겠지만 그냥 다른 메일이 들어갔으면 좋겠습니다.
예시는 아래와 같습니다.
[게시판이름] 게시물의 제목
해당 코드가 적용되지 않는다면
올려주신 코드 중에서
아래의 코드를 각각 찾아서
add_filter('wp_mail_from', 'my_wp_mail_from', 10, 1);
add_filter('wp_mail_from_name', 'my_wp_mail_from_name');
아래의 코드로 교체해보시겠어요?
add_filter('wp_mail_from', 'my_wp_mail_from', 999, 1);
add_filter('wp_mail_from_name', 'my_wp_mail_from_name', 999, 1);
관련 플러그인으로는 아래의 플러그인이 있습니다.
Wp Default Sender Email by IT Pixelz
고맙습니다.
add_filter('kboard_latest_alerts_subject', 'my_kboard_latest_alerts_subject', 10, 2);
function my_kboard_latest_alerts_subject($subject, $content){
$board = $content->getBoard();
$subject = '['.$board->board_name.']' . $content->title;
return $subject;
}
add_filter('wp_mail_from', 'my_wp_mail_from', 10, 1);
function my_wp_mail_from($mail_from){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
if($board_id == '25'){
if(is_user_logged_in()){
$user = wp_get_current_user();
$mail_from = $user->user_email;
}
else{
$mail_from = 'my_eamil@cosmosfarm.com';
}
}
return $mail_from;
}
add_filter('wp_mail_from_name', 'my_wp_mail_from_name');
function my_wp_mail_from_name($mail_from_name){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
$member_display = isset($_POST['member_display'])&&$_POST['member_display'] ? $_POST['member_display'] : '';
if($board_id == '25'){
$mail_from_name = $member_display;
}
return $mail_from_name;
}
알려 주신대로 차일드 테마 function에 입력을 했습니다.
제목 부분은 적용이 되는데 아래 2가지 작성자 정보로 알리 메일 보내는건
작동을 안하는듯 합니다.
안녕하세요~^^
KBoard 플러그인 최신글 이메일 알림 시 게시판 이름 옆에 게시글 제목을 표시하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_latest_alerts_subject', 'my_kboard_latest_alerts_subject', 10, 2);
function my_kboard_latest_alerts_subject($subject, $content){
$board = $content->getBoard();
if($board->id == '1'){
$subject = '['.$board->board_name.']' . $content->title;
}
return $subject;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
메일 내용은 별도로 코드를 수정하지 않으셔도 게시글의 본문 내용으로 적용됩니다.
보내는 메일 쪽을 수정하시려면
테마 쪽 functions.php 파일 하단에
아래의 코드도 추가해보시겠어요?
add_filter('wp_mail_from', 'my_wp_mail_from', 10, 1);
function my_wp_mail_from($mail_from){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
if($board_id == '1'){
$mail_from = 'my_eamil@cosmosfarm.com';
}
return $mail_from;
}
add_filter('wp_mail_from_name', 'my_wp_mail_from_name');
function my_wp_mail_from_name($mail_from_name){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
if($board_id == '1'){
$mail_from_name = 'Cosmosfarm';
}
return $mail_from_name;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
$mail_from은 실제 보내는 쪽 이메일로 설정해보시고
$mail_from_name은 보내는 쪽 이름으로 설정해보시겠어요?
만약, 로그인 사용자가 게시글 작성 시 해당 사용자 정보로
메일 보내는 쪽을 설정하시려면
아래의 코드로 교체해보시겠어요?
add_filter('wp_mail_from', 'my_wp_mail_from', 10, 1);
function my_wp_mail_from($mail_from){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
if($board_id == '1'){
if(is_user_logged_in()){
$user = wp_get_current_user();
$mail_from = $user->user_email;
}
else{
$mail_from = 'my_eamil@cosmosfarm.com';
}
}
return $mail_from;
}
add_filter('wp_mail_from_name', 'my_wp_mail_from_name');
function my_wp_mail_from_name($mail_from_name){
$board_id = isset($_POST['board_id'])&&$_POST['board_id'] ? $_POST['board_id'] : '';
$member_display = isset($_POST['member_display'])&&$_POST['member_display'] ? $_POST['member_display'] : '';
if($board_id == '1'){
$mail_from_name = $member_display;
}
return $mail_from_name;
}
위의 코드를 적용하면 1번 게시판에 로그인 사용자가 게시글 작성 시
메일 보내는 쪽을 사용자 이메일과 작성자명으로 설정해서 메일을 전송합니다.
비회원으로 게시글 작성 시
메일 보내는 쪽을 미리 설정해준 이메일로 설정하고 작성자명은 입력한 작성자명으로 설정해서 전송합니다.
고맙습니다.