Home Blog 포트폴리오 Woocommerce + product support(Ext) & 문의하기, 답변확인하기 추가

Woocommerce + product support(Ext) & 문의하기, 답변확인하기 추가

우커머스를 이용한 온라인 숍 구성 시, 상품 관련 문의 시스템을 구성하는 한가지 방법으로 ‘product support’라는 익스텐션을 이용하는 방법이 있어 소개해 드립니다.
Key Features
  • Automatically create new groups/forums?
  • Associate products with any existing groups/forums
  • Automatically add users to correct groups on completed purchase (BuddyPress only)
  • Automatically create first post in each new forum
  • Doesn’t interfere with existing bbPress and BuddyPress functionality (you can still manually create Groups/forums and add users like you always have)

① 상품과 포럼을 연결하는 방법
상품 생성 시 새 포럼을 생성하며 연결하기, 기존 포럼에 연결 등 선택 가능 (상품 편집 시 수정 가능. 스팸 방지를 위해 구매자만 접근 가능토록 할 수도 있음. 플러그인 활성화 시 메타박스가 추가 됨)
미리 공지 글을 세팅 가능 > 쇼핑몰 운영 전반에 대한 안내글 준비 작성 가능. (각 연결 포럼 상단에 노출)
bbpress와 같이 사용을 하는 경우, 원할 시 상품 제목으로 포럼이 하나 생성. (포럼의 제목 = 상품의 이름)
포럼 제목을 클릭하여 토픽 목록으로 진입하면, 우커머스 설정 > integration 에서 미리 세팅된 공지글이 상단 붙박이 글로 생성 돼 있음
위 내용까지가 익스텐션이 기본적으로 제공하는 기능

② 문의를 할 수 있는 공간 만들기 (토픽 작성 폼)
– 기본 : 포럼 내에 진입 시 토픽을 작성할 수 있음 (bbpress의 특징)
– 추가 : 상품 상세 페이지 내에서 탭을 추가하여 토픽(문의)을 추가할 수 있는 폼을 표시하기 ?(해당 상품과 연결된 포럼이 있을 때에만)
to functions.php 
// 탭 추가 (해당 상품에 연결된 포럼이 있다면, 토픽 작성 폼을 추가)
add_filter('woocommerce_product_tabs', 'oks_qna_product_tab');
function oks_qna_product_tab($tabs) {
    $postId   = get_the_ID();
    $forum_id = get_post_meta($postId, '_product_forum', true);

    if ($forum_id) { // 상품 메타 정보에 포럼 연결 정보가 있다면, 체크를 위해 forumID 체크 부분을 중복 사용 중( 해결 방법이 있다면 수정)
        // Add the new tab
        $tabs['qna_topic_form'] = array(
            'title' => __('Q&A', 'text-domain'),
            'priority' => 50,
            'callback' => 'oks_qna_product_tab_content' // 컨텐츠 콜백
        );
    }
    return $tabs;
}
function oks_qna_product_tab_content() {
    // 탭 안에 표시될 컨텐츠 구성
    $postId   = get_the_ID();
    $forum_id = get_post_meta($postId, '_product_forum', true);
    echo do_shortcode('[bbp-topic-form forum_id='.$forum_id.']'); // bbpress shortcode (특정 id 포럼의 토픽 폼 생성)
}
 코드 추가 후 포럼을 연결한 상품의 상세 페이지로 가 보면, Q&A 탭이 추가된 것을 확인할 수 있음. 제목과 내용 기재 후 글 작성을 완료하면 해당 포럼이 있는 페이지로 자동 이동 됨.

③ 나의 문의들 확인 방법 추가 (wc my-account 페이지에서 bbpress users 페이지로 연결)
문의를 했던 내용 및 답변 내용은 포럼 페이지에서 확인 가능하고, 내가 작성한 문의만 보거나 즐겨찾기 해 놓은 글만 보려면 bbpress user 페이지에서 확인 가능합니다.
우커머스와의 연결 고리를 주기 위해 my-account 페이지에서 WC 메뉴 네비게이션에 bbpress user 페이지 링크 메뉴를 추가해 줍니다.
to functions.php
// 우커머스 myaccount 탭 메뉴들에 단순 li > a 버튼 추가로 bbpress user page로 이동
function oks_hook_javascript() {
    if (is_account_page()) { // myaccount 페이지에서만 작동토록 체크?
        $this_user = wp_get_current_user();
        $bbp_user_profile_url = bbp_get_user_profile_url($this_user -> ID).'qnas';
        ?><script>
            var bb_user_url = '<?php echo $bbp_user_profile_url; ?>'; // php 변수 내용을 js 변수로 저장
            (function ($) {
                $(".wc-my-account-tabs ul li:nth-child(5)").append(
                    '<li class="woocommerce-MyAccount-navigation-link go_bbpage"><a href="">문의내용</a' +
                    '></li>'
                );
                $(".woocommerce-MyAccount-navigation-link .go_bbpage a").attr(
                    'href',
                    bb_user_url
                ); // a 버튼에 위에서 확인된 user 페이지 링크 속성 추가
            })(jQuery);
        </script>
        <?php
    }
}
add_action('wp_footer', 'oks_hook_javascript');

코드 추가 후 my-account 페이지를 가 보면, 메뉴 링크가 추가된 것을 확인.

링크를 통해 bbpress user 페이지가 열리게 되고, bbpress 포럼(상품 문의용)에서 내가 작성했던 글, 즐겨찾기했던 글 등을 확인할 수 있습니다.

기존에는 그라비티 폼을 활용 시 관리자에서 문의 내용 확인 및 답변(메일 발송도 동시에)도 가능한 장점이 있어 주로 이 방법을 사용 중이었는데, 이번에 bbpress 포럼을 통한 문의 서포트 기능을 하는 익스텐션을 활용해 보니 이 조합도 꽤 괜찮아 보입니다. 관련 기능이 필요한 경우 참고해 보세요.
(추가로… 관리자는 따로 전체 게시글이 표시되는 페이지를 통해 고객 응대를 하면 되겠다는 생각도 드네요)
끝.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.
You need to agree with the terms to proceed

다음
Storefront Theme + woocommerce 3.x 조합으로 쇼핑몰 만들기
이전
카테고리별 리스트 목록 디자인을 다르게 꾸미기