회원가입일로부터 특정 기간 후 안내 메일을 발송할 수 있을까요?

1. 유저분들의 개인정보 사용에 관한 안내를 하기 위애 회원가입일로부터 특정 기간 후 안내 메일을 발송하고자 합니다.

2. 설정은 가입 날짜 기준으로 12개월을 잡으려고 합니다.

3. 회원가입관리 플러그인을 사용 시 이를 가능하게 할 수 있는 방법이 있을까요?

감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    말씀하신 것처럼 회원가입 후 1년 뒤에 회원에게 메일을 보내시려면

    워드프레스 크론 기능으로 특정 시간 대에 자동으로 코드를 실행하게 해주셔야 합니다.

     

    홈페이지 접속이 없어도 크론을 동작되게 하시려면 리눅스 서버의 크론을 사용하는 방법밖에는 없습니다.

    리눅스 서버의 크론을 사용하면 워드프레스 홈페이지 접속이 없어도 동작되지만

    리눅스 서버 관리자가 아니면 사용을 못하는 단점이 있습니다.

     

    리눅스 서버 설정을 변경할 수 있다면 아래 플러그인을 설치해서 사용해보세요.

    Advanced Cron Manager – debug & control

    플러그인 활성화 후 워드프레스 관리자 -> 도구 -> Cron Manager 페이지를 확인해보세요.

    Server Scheduler 설정 방법이 나와있습니다.

    고맙습니다.

  • 워드프레스 크론(Wordpress Cron)을 이용해서 간단한 플러그인을 만들어봤습니다.

    FTP로 접속해서 /wp-content/plugins 폴더에 test.php 등의 파일을 만들어서 내용을 그대로 붙여넣기 해주세요.

    그리고 워드프레스 관리자 페이지에서 해당 플러그인을 활성화 해주세요.

    <?php
    /*
     Plugin Name: 테스트 플러그인
     Plugin URI: https://www.cosmosfarm.com/
     Description: 테스트 플러그인 입니다.
     Version: 1.0.0
     Author: 코스모스팜 - Cosmosfarm
     Author URI: https://www.cosmosfarm.com/
     */
    
    if(!defined('ABSPATH')) exit;
    
    register_activation_hook(__FILE__, 'my_activation');
    function my_activation(){
    	if (! wp_next_scheduled('my_hourly_event')){
    		wp_schedule_event(time(), 'my_event', 'my_hourly_event');
    	}
    }
    
    add_filter('cron_schedules', 'my_add_weekly');
    function my_add_weekly($schedules){
    	$schedules['my_event'] = array(
    		'interval' => 3600, // 초 단위 3600은 1시간
    		'display' => 'test'
    	);
    	return $schedules;
    }
    
    add_action('my_hourly_event', 'do_this_hourly');
    function do_this_hourly(){
    	$year = date("Y",strtotime("-1 year", time()));
    	$month = date("m",strtotime("-1 year", time()));
    	$day = date("d",strtotime("-1 year", time()));
    	
    	$args = array(
    		'meta_query'=> array(
    			array(
    				'key'=> 'personal_information_email',
    				'compare' => 'NOT EXISTS'
    			)
    		) ,
    		'date_query'	 => array('year' => $year, 'month' => $month, 'day' => $day, 'inclusive' => true),
    		'orderby'		 => 'user_registered',
    		'posts_per_page' => -1
    	);
    	
    	$title = '메일제목';
    	$message = '메일내용';
    	
    	$user_list = get_users($args);
    	
    	foreach($user_list as $user){
    		$result = wp_mail($user->user_email, $title, $message);
    		if($result){
    			update_user_meta($user->ID, 'personal_information_email', 'send_mail');
    		}
    	}
    }
    
    register_deactivation_hook(__FILE__, 'my_deactivation');
    function my_deactivation(){
    	wp_clear_scheduled_hook('my_hourly_event');
    }

    위의 코드에서 메일제목 부분과 메일내용 부분은 실제 보내려는 내용으로 교체해서 적용해보시겠어요?

    고맙습니다.

  • @스레드봇  감사합니다!!! 적용 테스트 바로 해보겠습니다~

  • 안녕하세요, 위 방법도 있고, 추가로 메일침프를 활용한 자동화 방법을 공유 드립니다.

    1. 회원가입 시 메일침프 실시간 연동 (*다양한 플러그인이 존재)

    2. 메일침프에서 회원가입 일시를 기준으로 메일 오토메이션 설정 (https://mailchimp.com/help/automation-types/)

    * Date Based > List added date 오토메이션을 활용하시면 됩니다.

    3. 999일까지 지정이 가능하므로 대략 2년까지는 커버 가능합니다. 

    * 별도의 필드를 설정하셔서 하시면 2년 이상도 연장 가능할 것으로 보입니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요