워드프레스에서 컨택트 폼으로 무료 플러그인인 Contact Form 7이 많이 사용됩니다. 무료지만 웬만한 문의 폼을 자유롭게 만들 수 있고 일부 테마에서는 Contact Form 7용 문의 폼을 기본적으로 제공하기도 합니다. (개인적으로는 유료 플러그인인 Quform을 사용하고 있습니다. P3 Profiler로 검사해보면 Contact Form 7이 사이트 속도를 가장 많이 저하시키는 것으로 나와서 Quform으로 갈아탔습니다.)
이번 글에서는 Contact Form 7에서 사용할 수 있는 고급 기능 중 하나인 파이프 기호(|) 사용에 대해 간단히 살펴보겠습니다.
예를 들어, 문의 내용을 세일즈 관련 문의인 경우 세일즈 팀으로, 지원 관련 문의인 경우 지원 팀으로 보내도록 하고 싶을 수 있습니다. 이 경우 Quform에서는 사용자가 선택하는 조건에 따라 문의 폼의 내용을 수신할 수신자를 지정할 수 있습니다(참고).
Contact Form 7에서는 드롭다운 메뉴에서 파이프 기호를 사용할 수 있습니다.
위와 같이 "세일즈|[email protected]" 형식으로 옵션을 추가할 수 있습니다. 대신 다음과 같이 직접 코드를 추가하는 것도 가능합니다.
[select* your-recipient "세일즈|[email protected]" "지원|[email protected]" "일반|[email protected]"]
그러면 실제 문의 폼에서는 다음과 비슷하게 드롭다운으로 추가됩니다. 위의 코드에서 *는 필수 필드를 의미합니다.
값을 호출하는 방법은 [your-recipient]과 같이 사용하면 됩니다. 그러면 이메일 주소가 호출됩니다. [your-recipient] 코드를 수신자 필드에 추가할 수 있습니다. 파이프 앞의 값을 호출하려면 [_raw_{field name}] 형식을 사용할 수 있습니다. 위의 경우 [_raw_your-recipient]가 됩니다.
참고로 다음과 같이 지정하는 것도 가능합니다(참고).
"Membership|Membership <[email protected]>"
안녕하세요 .. 주신 정보로 .. 홈페이지에 반영하고자 하였는데 위에 분 질문대로 . ... 모든 메일이 관리자 이메일로 들어와서 설명을 찾고하여 TO에 [your-recipient]는 반영이 되지를 않고 .. 드롭다운에서 선택하고 .. 그 선택한 이메일이 메일을 받게 하려면 어떻게 해야하는지 혹시 알려주실 수 있는 지 부탁드립니다.
안녕하세요?
위의 내용은 Contact Form 7에서 제시하는 방법입니다. 잘 안 된되는 경우 코드가 정확하게 입력되었는지 확인해보시기 바랍니다.
그래도 안 되면 Quform 같은 유료 플러그인을 사용하는 것을 고려해볼 수 있을 것입니다.
안녕하세요.
컨택폼에서 위에서 알려주신 상황과 똑같은 상황이 생겨서 알려주신 방법대로 설정을 했습니다.
사이트에서도 저의 경우에는 subject로 해서 여러가지 상황을 설정한게 제대로 잘 설정이 됩니다.
메일도 잘 갑니다.
그런데 이 메일들이 설정해 놓은 다른 메일들로 오는것이 아니라
어드민 메일 계정으로 전부 들어오는 상황입니다.
이 부분에 대해서 조언을 해주신다면 정말 감사드리겠습니다.
항상 질문만 드려서 죄송합니다.
안녕하세요?
댓글을 남겨주셔서 감사합니다.
무엇이 잘못되었을까요?
위의 내용은 select 필드의 값을 이메일로만 넘겨주는 역할을 합니다. 컨택트 폼의 수신자를 바꿔주는 기능을 하는 것은 아닙니다. 이제 어떤 부분을 수정해야 되는지 아시겠죠?ㅎㅎ 도움이 되셨다면 기부를 통해 블로그를 후원하실 수 있습니다(https://www.thewordcracker.com/donation/ )ㅎㅎ
궁금한 사항이 있으면 알려주세요.
안녕하세요. 답변 주셔서 정말 감사합니다.
후원부분은 제가 최대한 빠른시일 내로 진행 하도록 하겠습니다. ㅎㅎ
알려주신 부분을 제가 이해하기로는 메일탭 부분의 수신자를 수정해야 폼 부분의 설정에서 설정한대로 메일이 들어온다고 하신걸로 이해했습니다.
그런데 메일탭에는 수신메일을 설정하는게 하나밖에 없어서 어떻게 설정을 해야 서브젝트별로 메일을 수신할 수 있는가에 대한 부분에서 풀지를 못하고 있습니다.
가령 [select* your-recipient "세일즈|[email protected]" "지원|[email protected]" "일반|[email protected]"] 형태로 필드로 추가했다면 컨택트 폼의 수신자 이메일에 [your-recipient]를 입력하여 테스트해보시기 바랍니다.
(예를 들어, 보통은 your-email처럼하여 이메일 필드의 값을 받아서 수신자 이메일 주소란에 입력할 수 있습니다. 수신자(To)란에 [your-recipient] 비슷하게 입력하시면 될 것입니다.)
참고로 위의 내용은 사용자가 select 필드의 값을 어떤 값을 선택하느냐에 따라 반환하는 이메일 주소를 달리 지정해주는 방법에 대한 것입니다. 일반적으로는 관리자 이메일로 수신하려면 [select* your-recipient "일반|[email protected]" "세일즈|[email protected]" "지원|[email protected]" "일반|[email protected]"] 처럼 관리자 이메일 주소를 추가해주면 될 것입니다.