다운로드 템플릿에 필드 항목 추가하기 #

커스텀 코드를 추가하여 다운로드 템플릿에 기본으로 제공하는 필드 외 커스텀 필드를 추가하는 방법에 대해 설명합니다.

  1. 필터명 #

    주문 필드 – msex_order_field_type
    상품 필드 – msex_product_field_type
    회원 필드 – msex_user_field_type
    리뷰 필드 – msex_review_field_type

  2. 커스텀 코드 추가 #

    아래 샘플 코드를 활용하여 /wp-content/themes/차일드 테마/functions.php 에 추가합니다.
    (주의) 본 테마에 적용할 경우, 추후 테마 업데이트 시 작업한 내역이 삭제되므로 차일드 테마에 작업하는 것을 권장드립니다.
    본 테마에 작업하실 경우 테마 업데이트 전 반드시 커스텀 작업 내역을 백업 후 업데이트 해주시기 바랍니다.

    function mshop_product_custom_field( $fields ) {
              $fields = array_merge( 
                  $fields, 
                  array ( 
                      'post_status'  => '상품상태', 
                 ) ); 
              return $fields; 
    }
    add_filter( 'msex_product_field_type', 'mshop_product_custom_field' );
  3. 설정 결과 #

    샘플 코드를 functions.php 파일에 추가하면, [엠샵 업다운로드 > 상품 다운로드 템플릿]에서 상품 상태 필드가 추가된 것을 확인할 수 있습니다.

엑셀 필드 제목 추가 #

샘플 커스텀 코드를 이용하여 엑셀 다운로드 시 한 필드에서 제목을 여러개 표시할 수 있습니다.

단, 제목만 여러개 표시하는 경우 제목 아래에 표시되는 값들이 밀릴 수 있습니다.

  1. 필터명 #

    필드 고유값은 다운로드 템플릿에 필드 항목 추가하기에서 추가한 코드 중 field_array 배열의 키 값을 참고하여 작성합니다.

    예시 : msex_get_product_header_post_status

    주문 필드 – msex_get_order_header_{필드 고유값}
    상품 필드 – msex_get_product_header_{필드 고유값}
    회원 필드 – msex_get_user_header_{필드 고유값}
    리뷰 필드 – msex_get_review_header_{필드 고유값}

  2. 커스텀 코드 추가 #

    아래 샘플 코드를 활용하여 /wp-content/theme/차일드 테마/functions.php 에 추가합니다.
    (주의) 본 테마에 적용할 경우, 추후 테마 업데이트 시 작업한 내역이 삭제되므로 차일드 테마에 작업하는 것을 권장드립니다.
    본 테마에 작업하실 경우 테마 업데이트 전 반드시 커스텀 작업 내역을 백업 후 업데이트 해주시기 바랍니다.

    function post_status_header( $field_label, $field ) {
           $headers = array();
           $headers[] = $field_label[0] . '1';
           $headers[] = $field_label[0] . '2';
    
           return $headers;
    }
    add_filter( 'msex_get_product_header_post_status', 'post_status_header', 10, 2 );
  3. 설정 결과 #

    샘플 코드를 functions.php 파일에 추가한 후, [엠샵 업다운로드 > 상품 다운로드 템플릿]에서 다운로드하면 엑셀 파일에 상품상태 한개만 표시되어야 하지만 상품상태1과 상품상태2가 표시됩니다.

엑셀 입력 값 처리 추가 #

다운로드 템플릿에 필드 항목 추가하기에서 추가한 필드의 값을 처리합니다.

  1. 필터명 #

    상품, 회원 필드의 슬러그는 다운로드에 이용할 템플릿의 슬러그를 입력합니다.
    아래 샘플 코드에서는 플러그인 설치 후, 생성되는 템플릿들의 기본 슬러그 값을 예시로 작성되어 있습니다.

    주문 필드 – msex_export_order_field_value
    상품 필드 – msex_export_product_field_value_{상품 다운로드 템플릿 슬러그}
    회원 필드 – msex_export_user_field_value_{회원 다운로드 템플릿 슬러그}
    리뷰 필드 – msex_export_review_field_value_{리뷰 다운로드 템플릿 슬러그}

  2. 커스텀 코드 추가 #

    아래 샘플 코드를 활용하여 /wp-content/theme/차일드 테마/functions.php 에 추가합니다.
    (주의) 본 테마에 적용할 경우, 추후 테마 업데이트 시 작업한 내역이 삭제되므로 차일드 테마에 작업하는 것을 권장드립니다.
    본 테마에 작업하실 경우 테마 업데이트 전 반드시 커스텀 작업 내역을 백업 후 업데이트 해주시기 바랍니다.

    //주문 필드 샘플코드
    
    function codem_set_custom_order_field_value( $field_value, $field, $order, $item, $item_index, $exporter ) {
        if ( 'custom_field_1' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #1';
        } else if ( 'custom_field_2' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #2';
        }
    
        return $field_value;
    }
    
    add_filter( 'msex_export_order_field_value', 'codem_set_custom_order_field_value', 10, 6 );
    //상품 필드 샘플코드
    
    function codem_set_custom_product_field_value( $field_value, $field, $order, $item, $item_index, $exporter ) {
        if ( 'custom_field_1' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #1';
        } else if ( 'custom_field_2' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #2';
        }
    
        return $field_value;
    }
    
    add_filter( 'msex_export_product_field_value_default_product_template', 'codem_set_custom_product_field_value', 10, 6 );
    //사용자 필드 샘플코드
    
    function codem_set_custom_user_field_value( $field_value, $field, $order, $item, $item_index, $exporter ) {
        if ( 'custom_field_1' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #1';
        } else if ( 'custom_field_2' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #2';
        }
    
        return $field_value;
    }
    
    add_filter( 'msex_export_user_field_value_default_user_template', 'codem_set_custom_user_field_value', 10, 6 );
    //리뷰 필드 샘플코드
    
    function codem_set_custom_review_field_value( $field_value, $field, $order, $item, $item_index, $exporter ) {
        if ( 'custom_field_1' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #1';
        } else if ( 'custom_field_2' == $field['field_type'] ) {
            $field_value = '커스텀 필드 값 #2';
        }
    
        return $field_value;
    }
    
    add_filter( 'msex_export_review_field_value_default_user_template', 'codem_set_custom_review_field_value', 10, 6 );