You do not have sufficient permissions to access this data.

안녕하세요. 린치핀소프트 한광희입니다.

워드프레스로 콘택트 폼(Contact Form)을 사용할때는 그라비티 폼, 닌자 폼, Jetpack Form, Contact Form7 등 많은 선택지가 있고 각 폼 별로 장/단이 있습니다. 저는 Contact Form 7 을 자주 사용하는데, 콘택트폼7의 경우 단점이라면, 콘택트폼을 통한 모든 메시지가 DB(데이터베이스)에 저장되지 않고 수신인 이메일로 바로 전송된다는 것입니다.

이메일이 수신이 안되는 경우가 발생할때는 해당 메시지가 결국 소실되어 버리게 되는 겁니다. 또 한가지 아쉬운 점은 모든 메시지가 이메일로 수신되기 때문에 다른 이메일등과 섞여버려 자칫 관리를 느슨하게 하면 워드프레스 사이트에서 전송된 메시지들을 따로 관리하기가 어려워 진다는 점입니다.

가장 좋은 방법은 Contact Form7으로 전송된 메시지가 이메일로 수신될 뿐만 아니라 워드프레스 사이트의 DB에도 저장되어 워드프레스 관리자 페이지에서도 해당 메시지를 확인할 수 있도록 구축하는 것입니다. 이 기능은 아쉽게도 Contact Form7 에서는 기본적으로 지원하지 않기 때문에 오늘 소개 해드리는 “Contact Form  DB” 플러그인을 이용하여 모든 메시지를 DB에 저장되도록 구성할 수 있습니다.

또한 Contact Form  DB 플러그인은 “ShortCode API”를 이용하여 수신된 메시지의 조회 테이블을 별도로 생성 할 수 있습니다. 그래서 Contact  Form7을 사용 하는 분에게는 이 Contact Form DB플러그인을 추천드립니다.

Contact Form DB는 여기서 다운로드 할 수 있습니다.

 

screenshot-211.110.165.134 2016-01-18 20-14-48 (1)

콘택트폼 DB 플러그인을 설치하면 위처럼 관리자 페이지의 “Contact Form DB” 메뉴를 통해 현재까지 콘택트폼을 통해 수신된 모든 메시지를 조회 할 수 있습니다. 해당 메시지는 이메일로 수신되지만 플러그인이 설치된 DB에도 저장됩니다.

screenshot-211.110.165.134 2016-01-18 20-19-58

콘택트폼 DB 플러그인 설치시 생성되는 “wp_cf7dbplugins_submits” 테이블입니다. 보이는 것처럼 form 의 이름과 각 form의 필드별로 구분되어 데이터가 DB에 저장되어 있습니다.

콘택트 폼 DB가 유용한 점은 추가로 위와 같은 데이터 레코드를 이용하여 모든 메시지를 조회 할 수있는 shortcode API를 제공하는 점입니다. 해당 shortcode를 이용하여 자신의 워드프레스 사이트에 최적화된 메시지 수신함을 추가해볼 수 있습니다.

screenshot-211.110.165.134 2016-01-18 20-12-47

위의 스크린샷은 콘택트폼 DB 숏코드와 추가적으로 CSS 디자인을 조금 개선하여 관리자 페이지에 최근 수신된 메시지 20개를 보여주도록 한 예제입니다.

위의 스크린샷에 사용된 shortcode는 다음과 같습니다

<?php echo do_shortcode(''); ?>

숏코드에 기술된 옵션필드를 간략히 살펴보면 조회할 콘택트폼의 이름을 먼저 지정한 후 show 항목에 보여줄 필드명을 지정합니다. 그후 orderby 항목으로 정렬기준 항목과 정렬방법(내림차순,오름차순 등)을 지정하며 마지막으로 limit 항목에서 최대 20개의 메시지만 정렬하도록 하였습니다.

 

오늘 소개한 것처럼 contact form 7플러그인의 기능에 대해서 불만족스러웠다면 contact form DB 플러그인을 이용해서 보완해 보시기 바랍니다.

 

이전 포스트 : 워드프레스 쇼트코드(shortcode) 삽입하기!