Skip to main content
WooCommerce 회원정보 대량 업로드 시 문제점 및 해결 방법

사례: 픽셀디자인 고객의 워드프레스 우커머스 쇼핑몰 제작시 카페24에서 저장된 회원정보와 포인트 및 적립금을 워드프레스 우커머스 회원 시스템 연동 및 적립금/포인트 일괄 등록 이슈

1. 문제 발생 시나리오 (  회원정보 약 3만건 내외 )

배경:
CSV 또는 WP All Import, 자체 스크립트 등을 통해 WooCommerce의 회원(user) 정보를 대량으로 등록하거나 업데이트하는 과정에서, 포인트/적립금 관련 필드(meta key)가 제대로 등록되지 않음.

문제 요약: ( 적립금 및 포인트 플러그인마다 user_meta_key 이름 다름 )

  • 회원 정보는 정상적으로 등록됨

  • _ywpar_user_total_points, _ywpar_points_collected, _customer_fund 등의 user_meta key가 생성되지 않음

  • 따라서 적립금/포인트가 UI 및 기능에 반영되지 않음


2. 주요 원인 분석

구분 설명
❌ 메타키 자동 생성 미지원 YITH 플러그인 등 일부 플러그인은 회원가입 시점 또는 첫 로그인 시에만 해당 meta_key를 자동 생성함
❌ CSV 업로드의 구조적 한계 WP All Import와 같은 도구는 해당 메타키가 존재하지 않으면 무시하거나 생성하지 않음
❌ 메타키 조건 누락 대량 등록 시 user_id가 먼저 등록되고, 이후 관련 메타키가 자동 생성되는 이벤트가 없음
❌ 데이터 정합성 누락 _customer_fund, _ywpar_user_total_points 등은 숫자형 필드이며, 등록 시 데이터 타입이 맞지 않으면 반영되지 않음

3. 해결 방법

✅ 1. 회원등록 이후 초기 메타키 일괄 생성 스크립트 실행

  • 새롭게 등록된 회원 중 메타키가 없는 대상에 대해 기본값으로 메타키를 수동 생성

  • 적립금: _customer_fund = 0

  • 포인트: _ywpar_user_total_points = 0, _ywpar_points_collected = 0

✅ 2. WP All Import 사용 시 ACF Add-on 또는 사용자 메타 필드 명시적 설정

  • 필드명이 정확히 _customer_fund, _ywpar_user_total_points 인지 확인

  • ACF나 플러그인 구조에 따라 postmeta, usermeta, options 중 저장 위치 구분 필요

✅ 3. 데이터 삽입 전 사전 검사 로직 구성

  • 삽입 전 대상 user_id가 존재하는지 확인

  • 해당 user_idmeta_key가 이미 존재하는 경우는 skip 또는 update

  • 없는 경우에는 add_user_meta() 방식으로 생성

✅ 4. 플러그인 내부 훅 활용 (권장)

  • YITH 등의 포인트/적립금 플러그인이 제공하는 회원가입 후 후킹 포인트(action hook) 를 활용하여 자동 메타 등록 처리 가능
    예: user_register, woocommerce_created_customer 훅 활용


4. 기술 운영 팁

항목 내용
추천 방식 메타키 선 삽입 → WP All Import 또는 코드 업데이트
테스트 대상 신규 유저 ID에 대해 메타 유무 체크: SELECT * FROM wp_usermeta WHERE user_id = XXX
주의 사항 포인트/적립금 데이터는 int 또는 float로 처리, 문자열 삽입 시 오류 발생 가능
반복처리 대량 삽입 후 log 테이블로 성공 여부 및 실패 사유 기록 추천

✅ 마무리 요약

회원정보만 등록되었다고 WooCommerce 확장기능이 제대로 작동하는 것은 아니다.
포인트·적립금 기능은 해당 user_meta의 생성 유무에 따라 정상 작동이 결정되며, 대량 등록 시에는 반드시 메타키 존재 여부와 값을 수동 확인 또는 후처리하는 절차가 필요하다. wp all import만으로는 yith 적립금 및 포인트 대량 등록 및 업데이트 되지 않음