Home 게시판 커뮤니티 자유게시판 안녕하세요

1개 답변, 2 voices Last updated by Avatar of JinnJinn 5 years, 4 months 전
  • Avatar of kimkim
    Participant
    @kimjeongmin
    #53734

    설문조사 홈페이지를 만들려고하는데 워드프레스가 처음입니다

    페이지에서 나는 A랑 B 중에 좋아하는것을 체크하라는 설문 문항이있고, B가 좋다 이렇게 설문에 체크를 하면

    다음페이지에 바로 B를 좋아하는 당신은 ㅇㅇㅇ한 사람이군요 하는 결과 페이지가 나와야합니다

    문항의 수도 많고요

    이건 플러그인을 제작해야 가능한 기능인가요?

    Avatar of kim
    dd
    Avatar of JinnJinn
    Participant
    @veteran
    #53738

    워드프레스 기반으로 설문 조사 웹사이트를 구상하신다니 반갑습니다.

    완성된 것은 아니지만, 70% 가량 만들어 놓은 작업물이 있거든요.

    지금은 다른 일에 밀려 중지한 상태인데….

    어쨌거나 설문조사 웹사이트 구성 핵심은 다음 2가지 정도로 생각합니다. 한두 가지 더 있는데 생략하고, 사이트 스타일은 작업량은 많지만, 어려운 부분이 아니며 취향이 다르므로 핵심이 아닐 것입니다.

    가. 설문 문항 출력 효율 도모 (설문 문항 작성과 함께)

    나. 각 문항 데이터 검증과 설문 데이터 저장 방식 (결과 데이터 출력의 다양성(표, 그래프 등) 및 효율을 위해)

    우선, 설문 문항은 관리자가 등록한다는 기준으로, 커스텀 포스트 타입(CPT)을 정의하는 것이 필요합니다. 여기서, 복수의 설문 문항이 있는 하나의 설문 콘텐츠(포스트)를 하나의 CPT로 정의할 때 설문에 참여하는 한 사람의 최종 설문 데이터를 따로 저장할 또 하나의 CPT가 필요할 것입니다. 아니 그렇게 하는 게 조금 더 효율적이라 생각합니다.

     

    가에서,

    설문 문항은 여러개가 될 수 있는데, 설문조사 전용 사이트를 만든다면 설문이 하나가 아니라 계속 증가될 것입니다. 이때 매번 설문 폼을 직접 마크업하여 등록하는 것은 비효율적입니다.

    간단히 말하면 존재하는 저장소 플러그인을 사용(활용)해야 한다는 것입니다. 물론, 직접 해당 기능을 만들 수 있겠으나 그럴 필요 전혀 없습니다. 어차피 ‘폼’과 ‘폼 요소’가 필요한 것이며, 설문 등록을 위한 도구가 필요한 것이니까요.

    널리 알려진 플러그인 중에 제가 선택한 것은 Advanced Custom Fields(acf) 플러그인입니다. Contact Form 7, 이런저런 폼 플러그인등도 사용할 수 있지만, 설문 문항을 등록하기 가장 편리한 것은 acf 플러그인입니다. 따로 메타 데이터 등록을 위한 작업도 필요 없습니다. (Contact Form 7을 사용해도 괜찮습니다.)

    acf 플러그인은 관리화면에서 등록한 설문(여러 문항이 있는)을 프런트엔드(사이트)에 출력하기 상대적으로 쉬우며, 설문자가 입력한 설문 데이터를 특정 CPT에 바로 저장할 수 있으므로 편리합니다. 다만, 비회원 설문 참여가 가능하게 만든다면 데이터 검증에 관하여 조금 더 귀찮은 작업이 추가될 수 있습니다. (설문 전용 사이트라면 가입 서비스를 권장합니다.)

    그리고, 지금 정식 출시는 아니지만, ACF 5 버전부터는 폼 요소의 출력 형태가 조금 더 많아져 따로 스타일을 정의하지 않아도 충분히 정돈된 폼을 출력할 수 있습니다.

     

    나에서,

    ACF 플러그인의 단점(아니면 제작자가 생각하지 못한 것인지 모르겠으나)은, 예를 들어 필수 항목으로 필드를 만들거나 특정 값만 선택하도록 설정해도 사용자가 소스에서 변경하면 그 데이터를 검증하지 않는다는 것입니다. 장난하는 사람을 막을 수 없다는 것이죠.

    그래서 검증에 관한  추가 작업이 필요합니다. 이 부분이 관련 지식이 없으면 어려울 수 있습니다.

    또, 설문 문항을 작성할 때는 폼 요소 중 ‘radio’, ‘check’, ‘select’ 정도의 폼 요소만 사용해야 간단합니다. 설문 문항과 설문 방향을 정할 때 그에 맞춰 작성해야 작업이 조금 더 간단합니다. 서술 문항을 위해 다른 폼 요소를 추가할 수도 있습니다.

    설문자의 최종 설문 데이터를 저장할 때 각 설문 항목은 워드프레스 포스트(하나의 설문 포스트)의 메타 데이터로 저장됩니다. ACF 플러그인이 저장하는 것입니다. ACF 플러그인을 사용하지 않아도 그 메타 데이터를 그대로 사용할 수 있다는 것도 ACF 플러그인 사용의 이점입니다.

    이때, 메타 데이터는 메타 데이터 대로 저장하지만, 장기 관점에서 많은 설문과 각 설문의 여러 설문 항목(메타 데이터)을 출력하기 위해 시리얼 데이터로 따로 저장할 필요가 있습니다. 이 부분은 질문자께서 아직 검토하기 어려운 부분일 것 같아 생략합니다.

    어떤 항목을 선택했을 때 어떤 결과를 출력하는 (“B를 좋아하는 당신은 ㅇㅇㅇ한 사람이군요” 같은) 문제는 출력 결과 데이터를 데이터로 체계화하여 조건에 따라 보여줄 수도 있으며, 단순하게 안내나 흥미를 위한 유도성 문장이라면 ACF를 조금 활용하면 어렵지 않게 해결할 수 있을 것 같네요.

    워드프레스로 설문 사이트를 구상하신다니 반가워 주말에 두서 없이 적었습니다.

    Avatar of Jinn
    i wish i was..
2 글 보임 - 1에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.