public function handle_shortcodes($args, $text, $tag)
 {
     if (!$this->recipient_user) {
         $user = wp_get_current_user();
     } else {
         $user = $this->recipient_user;
     }
     $return_text = '';
     switch ($tag) {
         case 'blog_name':
         case 'site_name':
             $return_text = wp_specialchars_decode(get_bloginfo('blogname'));
             break;
             // 회원 활동 기간
         // 회원 활동 기간
         case 'active_span':
             $return_text = $this->active_span;
             break;
             // 휴면 계정 전환일
         // 휴면 계정 전환일
         case 'deactivation_date':
             if ($user->ID) {
                 $last_login = wskl_get_last_login($user->ID);
                 assert($last_login > 0);
             } else {
                 $last_login = time();
             }
             $return_text = wskl_date_string($last_login + $this->active_span * DAY_IN_SECONDS);
             break;
             // 오늘 날짜
         // 오늘 날짜
         case 'today':
             $return_text = wskl_date_string();
             break;
             // 회원 로그인 이름
         // 회원 로그인 이름
         case 'user_login':
             $return_text = $user->ID ? $user->user_login : '******';
             break;
     }
     return $return_text;
 }
 /**
  * @callback
  * @filter      manage_users_custom_column
  *
  * @param $value
  * @param $column_name
  * @param $user_id
  *
  * @return string|void
  */
 public function display_custom_columns($value, $column_name, $user_id)
 {
     switch ($column_name) {
         case 'wskl_last_login':
             $timestamp = wskl_get_last_login($user_id);
             break;
         case 'wskl_alerted':
             $timestamp = wskl_get_user_alerted($user_id);
             break;
         case 'wskl_deactivated':
             $timestamp = wskl_get_user_deactivated($user_id);
             break;
         default:
             return $value;
             break;
     }
     return $this->format_datetime($timestamp);
 }