보부상의 BBS e-Theme(Blog Shop 테마)의 디자인셀 사이에 숏코드 삽입하기

Last Updated: 2016년 08월 02일 댓글

BBS e-Theme(보부상 테마)는 워드프레스 기반의 한국형 워드프레스 테마 & 플러그인 대표 브랜드로 국내 환경에 최적화된 다양한 테마 및 플러그인을 제공하는 테마입니다. 개인적으로 이 테마를 직접 사용해본 적이 없기 때문에 이 테마가 좋은지에 대해서는 잘 모르겠습니다만, 며칠 전에 Blog Shop 테마를 사용하시는 클라이언트가 컨택트 폼에 제출하는 최신 문의 목록을 전면 페이지(메인 페이지)에 표시하기를 원하셔서 예상치 않게 이 테마를 조금 접하게 되었습니다.

Blog Shop 테마가 어떤 테마인지 제품 판매 사이트를 방문해보니 [쇼핑몰]BBS e-Commerce, [무료게시판]BBS e-Board Free, [무료팝업]BBS e-Popup이 포함되어 있는 테마로 198,000원에 판매되고 있네요. 비용이 AVADA 등과 비교하여 만만치 않으나 여러 가지 기능과 플러그인을 포함시켜서 패키지 형태로 판매하는 것 같습니다.

이 테마에 포함된 컨택트 폼인 BBS e-Contact Form을 사용하려고 했지만 원하는 기능을 추가하려는 경우 플러그인 소스를 수정해야 할 것 같아서 Contact Form 7을 사용하여 진행하기로 했습니다. 대신 기존의 견적서 양식 레이아웃을 그대로 Contact Form 7에서 만든 다음에 KBoard에 연동시켰습니다. 그런 다음 최신 글 목록을 전면 페이지(메인 페이지)에 표시하는 간단한 작업(?)만 남겨두었습니다. 하지만 문제는 Blog Shop 테마는 디자인셀로 구현되는 형태인데 디자인셀 요소 내에 외부 숏코드를 삽입할 수 없었습니다. 숏코드를 삽입해보니 보안 관련 에러가 발생하고, 화면에는 숏코드가 그대로 표시되거나 삽입한 내용이 아예 표시되지 않는 현상이 발생했습니다.

혹시 푸터에 삽입 가능한지 살펴보니 푸터도 테마 옵션 안에서 모두 제어하도록 되어 있고 역시 숏코드의 삽입이 불가능했습니다(이 테마는 특이하게 외모 > 위젯 메뉴가 아예 없네요). 결국 숏코드 하나를 삽입하기 위해 테마 소스를 분석하여 소스를 수정하는 작업을 해야 하는 상황이 되었습니다. 클라이언트를 통해 보부상에 이 문제를 문의하니 다음과 같은 답변을 얻었습니다.

문의주신 Blog Shop 테마의 경우 메인화면 구성은 디자인셀 기능을 통해서 구현이 되고 있습니다.  타 플러그인의 숏코드 삽입의 경우 테마를 수정하셔서 사용하셔야 합니다. 직접 고객님께서 수정을 하실 경우에는 백업을 하신 후에 하시는 것을 추천합니다. 또한 본 테마 안에다가 수정을 하실 경우 업데이트 시 수정 하신 부분들이 원상복구가 되므로 차일드 테마를 사용하셔야 합니다.

조금 더 자세한 설명을 요청하자 다음과 같은 2차 답변을 받았습니다.

고객님께서 문의주신 내용은 셀디자인 사이에 숏코드를 삽입에 대한 내용이신데 숏코드를 한줄만 삽입해서 되는 부분이 아닙니다. functions.php 부분에서 theme_shortname 가지고 와  index.php 부분에서 화면에 보이는 형식입니다. 관리자에서 설정한 데이터를 한번에 가지고와 배열로 나열해서 보이는 형식입니다. 차일드 테마를 이용해서 스타일 수정할 때처럼 한 곳만 수정하는 것이 아닙니다.

간단한 작업인 줄 알았는데 의외의 복병이 기다리고 있었네요. 어떻게 할까 잠시 고민하다가 jQuery를 사용하여 간단히 해결했습니다(참고). 그래서 원하는 부분에 KBoard 최신글 목록을 추가할 수 있었습니다.

 

Contact Form 7과 Kboard 연동

PC 화면과 모바일 화면을 약간 달리하여 구현했습니다. 위의 그림은 모바일 기기에서 볼 때의 화면입니다. 보부상 테마의 디자인셀에 숏코드를 쉽게 넣도록 지원한다면 좋을 것 같은데, 이 부분은 아쉽네요.

문의폼이나 견적서폼을 통해 문의를 받고, 그러한 문의 사항이 메인 화면에 표시되기를 원하는 경우 컨택트 폼 플러그인(예: Contact Form 7, Quform)과 KBoard를 연동시켜 최신 글 목록을 메인 화면에 표시하는 것도 한 방법입니다. 이 경우 게시판을 통해 쉽게 문의 사항을 확인하고 관리할 수 있기 때문에 단순히 문의 내용을 이메일로 받는 것보다 관리가 수월할 수 있으리라 생각됩니다.


댓글 남기기

Leave a Comment