홈페이지 방문자가 자신의 연락처와 메모를 남기면, 관리자에게 문자를 발송하는 기능

안녕하세요? 스레드봇님^^

제가 급하게 필요한 기능이 있어서 문의드립니다.

 

(문의내용)

1. 홈페이지 방문자가 자신에게 연락을 달라고  전화번호와 간단한 메모를 남기면,

이 내용을 홈페이지 관리자의 핸드폰으로 문자전송을 해주는 기능입니다.

2. 그리고 방문자가 간단한 메모를 남기는 것을 몇가지의 입력 필드로 만들어서

제공할 수 있다면 더욱 좋습니다. (예: 성명, 전화번호, 거주 지역, 관심분야 등)

3. 즉, 관리자가 회원들에게 문자를 보내는 기능이 아니고, 방문자가 연락을 요청하면

관리자에게 이런 내용을 문자로 보내주는 기능입니다.

 

(참고사항)

1. 저는 KBoard 게시판 한가지 만을 사용해봐서 코스모스팜에서 제공하는 다른 스킨에

대해서는 무지합니다. 다른 코스모스팜의 다른 스킨을 사용하면 해결이 가능한지 궁금합니다.

2. 저는 올해 1월5일 코스모스팜 회원관리 라이센스를 구매했기에 이를 활용하는 방법이

있는지 궁금합니다.

3. 코스모스팜의 솔루션으로 해결이 안된다면, 이와 관련하여 알고계신 다른 솔루션이라도

소개를 부탁드립니다.

 

ps. 제가 오랜만에 방문을 하게되어서 그동안 코스모스팜의 변화된 솔루션에 대해서

잘알지 못하고 있는 상황이라서 게시글들을 충분히 검색해보지를 못하고

직접 질문을 드리게 되었습니다.

도움을 주시면 고맙겠습니다^^

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    아담슨님 오랜만입니다^^

     

    홈페이지 방문자가 자신의 연락처와 메모를 남기면, 관리자에게 문자를 발송하는 기능은

    KBoard 플러그인 Contact Form 스킨과 코스모스팜 회원관리 플러그인을 활용해보시는 건 어떠신지요?

     

    KBoard 플러그인의 kboard_document_insert 액션에

    코스모스팜 회원관리 플러그인의 cosmosfarm_members_sms_send() 함수를 사용하시면

    게시글 등록 시 특정 번호로 SMS 문자를 보내실 수 있습니다.

    (워드프레스 훅(액션/필터)에 추가하거나 다른 플러그인과 연동해서도 문자를 보내 실 수 있습니다.)

     

    KBoard 플러그인이 업데이트되면서 입력 필드를 스킨 파일 수정 없이 관리자 페이지에서 설정하실 수 있습니다.

    워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 페이지에서

    입력 필드를 사이트에 맞게 설정해보시겠어요?

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$phone = '010-1234-5678';
    		$message = '새로운 게시글이 등록되었습니다.';
    		cosmosfarm_members_sms_send($phone, $message);
    	}
    }

    위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보시고

    휴대폰 번호와 메시지 내용은 적절히 수정해보시겠어요?

    위의 코드를 적용하시면 모든 게시판에서 게시글 등록 시

    010-1234-5678 번호로 문자 알림을 보낼 수 있습니다.

     

    추가하신 입력 필드의 내용을 내용에 포함하시려면

    아래의 코드를 활용해보시겠어요?

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$phone = '010-1234-5678';
    		$message = '옵션1 : ' . $content->option->{옵션키1};
    		$message .= '옵션2 : ' . $content->option->{옵션키2};
    		$message .= '옵션3 : ' . $content->option->{옵션키3};
    		cosmosfarm_members_sms_send($phone, $message);
    	}
    }

    위의 코드에서 옵션1, 옵션2, 옵션3 부분은 필드 레이블 입니다.

    옵션키1, 옵션키2, 옵션키3 부분은 입력 필드의 메타키입니다.

    필드 메타키는 KBoard 입력필드 설정 페이지에서 확인하실 수 있습니다.

     

    추가로, 코스모스팜 회원관리 플러그인에서 SMS 기능을 이용하시려면

    SMS 문자 기능은 카페24 또는 토스트 클라우드(TOAST Cloud)에 가입해야 합니다.

    아래 링크들을 참고해보시겠어요?

    워드프레스 SMS 문자 보내기 플러그인 - 카페24(cafe24) 연동

    워드프레스 SMS 문자 보내기 플러그인 - 토스트 클라우드(TOAST Cloud) 연동

    고맙습니다.

  • 쓰레드봇님, 답변을 자세히 설명해 주셔서 SMS 문자 전송까지 성공했습니다.

    감사합니다!!!

     

    그런데 아직 한가지 이슈가 남아있습니다.

    아래와 같이 입력 필드를 구분해서 문자전송을 받으려 했는데,

    필드 레이블 (제목, 신청자, 전달메모) 만 나오고 해당 필드값은 전송이 되지 않고 있습니다.

    즉, "제목 : 신청자 : 전달메모 : "라고만 전송되고 해당 입력값은 전송되지 않고 있습니다.

    아래는 child 테마의 function.php에 추가한 내용인데, 어디에 문제가 있는지

    진단을 부탁드립니다^^

     

    (추가 입력한 내용)

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
        if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
            $phone = '000-0000-0000';  // 실제로는 제 전화번화를 정상으로 입력함.
            $message = '제목 : ' . $content->option->{title};
            $message .= '신청자 : ' . $content->option->{author};
            $message .= '전달메모 : ' . $content->option->{content};
            cosmosfarm_members_sms_send($phone, $message);
        }
    }

    수고하십시요~~

     

  • 안녕하세요.

    올려주신 코드 대신 아래의 코드로 교체해서 확인해보시겠어요?

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$phone = '000-0000-0000';
    		$message = '제목 : ' . $content->option->{'title'};
    		$message .= '신청자 : ' . $content->option->{'author'};
    		$message .= '전달메모 : ' . $content->option->{'content'};
    		cosmosfarm_members_sms_send($phone, $message);
    	}
    }

    또는 아래의 코드처럼 적용해보세요.

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$phone = '000-0000-0000';
    		$message = '제목 : ' . $content->option->title;
    		$message .= '신청자 : ' . $content->option->author;
    		$message .= '전달메모 : ' . $content->option->content;
    		cosmosfarm_members_sms_send($phone, $message);
    	}
    }

     

    혹시, 제목과 전달메모는 별도로 추가하신 입력 필드인지요?

    만약, KBoard 기본 제목 필드와 내용 필드라면

    위의 코드에서 $content->option->title 부분을 $content->title로 교체해보세요.

    전달메모 쪽은 $content->option->content 부분을 $content->content로 교체해보시겠어요?

    고맙습니다.

  • 스레드봇님, 안녕하세요?

    아직 해결이 안되었는데, 꼭 도움이 필요합니다^^

     

    1. 진행사항 요약

    - 3개 필드 (제목, 작성자, 내용)를 사용했습니다.
    - 필드 레이블 변경 : 작성자 --> 신청자, 내용 --> 전달메모
    - 작성자 표시할 권한 : 항상 표시

     

    2. 3가지 방식의 작업결과

     

    (1) 번 방식 결과 - 필드 레이블만 문자 전송됨 ( [웹발신] 제목 : 신청자 : 전달메모 : )

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
        if($board_id == '1'){
            $phone = '000-0000-0000';   // 전화번호는 실제 전화번로호 입력함.
            $message = '제목 : ' . $content->option->{title};
            $message .= '신청자 : ' . $content->option->{author};
            $message .= '전달메모 : ' . $content->option->{content};
            cosmosfarm_members_sms_send($phone, $message);
        }
    }

     

    (2) 번 방식 결과 - 필드 레이블만 문자 전송됨 ( [웹발신] 제목 : 신청자 : 전달메모 : )

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
        if($board_id == '1'){
            $phone = '000-0000-0000';   // 전화번호는 실제 전화번로호 입력함.
            $message = '제목 : ' . $content->option->{'title'};
            $message .= '신청자 : ' . $content->option->{'author'};
            $message .= '전달메모 : ' . $content->option->{'content'};
            cosmosfarm_members_sms_send($phone, $message);
        }
    }

     

    (3) 번 방식 결과 - 필드 레이블만 문자 전송됨 ( [웹발신] 제목 : 신청자 : 전달메모 : )

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
        if($board_id == '1'){
            $phone = '000-0000-0000';   // 전화번호는 실제 전화번로호 입력함.
            $message = '제목 : ' . $content->option->title;
            $message .= '신청자 : ' . $content->option->author;
            $message .= '전달메모 : ' . $content->option->content;
            cosmosfarm_members_sms_send($phone, $message);
        }   
    }

    이상입니다~ 도움이 꼭 필요합니다^^

  • 안녕하세요.

    제목, 신청자, 전달메모는 KBoard 플러그인의 기본 필드인

    제목, 작성자명, 내용 필드를 필드 레이블만 바꾸신 건지요?

     

    올려주신 코드 중에서

    제목 쪽 $content->option->title 코드를 $content->title로 교체해보시고

    신청자 쪽은 $content->option->author 코드를 $content->member_display로 교체해보세요.

    전달메모 쪽은 $content->option->content 코드를 $content->content로 교체해보세요.

    고맙습니다.

  • 스레드봇님, 해결되었습니다.

    정말 감사합니다~~

     

    그런데 읽기 편하게 각 필드마다 줄바꿈을 하려면 어떻게 해야 하는지 문의드립니다.

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
        if($board_id == '1'){
            $phone = '010-0000-0000';   // 전화번호는 실제 전화번호로 입력함.
            $message = '제목 : ' . $content->title . '<br/>';
            $message .= '신청자 : ' . $content->member_display . '<br/>';
            $message .= '전달메모 : ' . $content->content;
            cosmosfarm_members_sms_send($phone, $message);
        }   
    }

    이렇게 .<br/>을 필드 뒷부분에 추가하니

    줄바꿈이 되지 않고, </br> 이 그대로 출력됩니다^^;;

    어떻게 해야 하는지 스레드봇님의 가르침을 부탁드립니다^^

     

     

  • 안녕하세요.

    실제 전화번호는 개인정보 문제로 인해 저희 쪽에서 수정해두었습니다.

    SMS 전송 시 줄 바꿈을 적용하시려면

    올려주신 코드 대신 아래의 코드를 활용해보시겠어요?

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){
    		$phone = '010-0000-0000';
    		$message = "제목 : {$content->title}\n";
    		$message .= "신청자 : {$content->member_display}\n";
    		$message .= "전달메모 : {$content->content}";
    		cosmosfarm_members_sms_send($phone, $message);
    	}
    }

    SMS 전송 시에는 <br> 태그가 아닌 \n로 줄 바꿈을 적용해주셔야 하며

    내용이 작은따옴표(')가 아닌 큰따옴표(") 사이에 있어야 적용됩니다.

    고맙습니다.

  • 스레드봇님, 드디어 성공했습니다!!!

    Contact-form 스킨에 이런 기능이 있는 줄 진작에 알았더라면 좋았을 것을 하는 아쉬움 마저 드네요^^

    Contact-from을 마스터해서 좀 더 활용 가치를 높여보려고 합니다.

    이 것과 관련된 추가적인 질문들은 새로운 글로 작성해서 올리겠습니다.

     

    ps. 공짜로 이런 지원을 받는 것이 송구스럽기도 합니다만,

    조만간에 식사 대접 한번 하겠습니다.

    (*6년 전인가도 이런 약속을 제가 한 것으로 기억하고 있는데, 아직까지 지키지를 못했네요^^::
    이번에는 약속을 지킬 것 같습니다~)

     

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기