2017-10-19 7 views
1

나는 비영리 단체를 돕는 Woo-Commerce를 기반으로하는 사이트를 상속 받았습니다. 수정 된 몇 가지 문제가 있지만 주문을 수정할 때 이상한 버그가 발생합니다. 그들은 모두가 입력 한 값을 포함WooCommerce 주문 메타 데이터가 밑줄로 한 번 두 번 나타납니다.

  • _billing_first_name
  • billing_first_name

:

이 같은 메타 데이터 태그 번 밑줄로 한 번하지 않고, 두 번 나타납니다 청구 모든 순서처럼 보인다 고객이 광고 주문을 만들었지 만 밑줄 버전은 관리 대시 보드를 사용하여 결제 정보를 수정하고 NON 밑줄 버전이 맞춤 입력란 아래에 표시되면 수정되는 항목입니다.

이것은 약간의 혼동을 불러 일으키고 있으며, 나는 정당한 판단을 내리고 그 이유를 알아 내지 못했습니다.

아무도 힌트가 있으면 미리 감사드립니다. 그렇지 않으면 코드를 파고들 것입니다.

답변

1

이 완전히 정상 (및 버그 아님).

woocommerce는 Wordpress 플러그인이므로 고전적인 사용자 데이터 테이블을 사용합니다. 하지만 주문은 사용자 데이터를 저장하는 맞춤 게시 유형입니다. 당신은 사용자 데이터에만 주문 postmeta 데이터에있는 경우에,을 등록하지 않고 선택적으로 구입할 수 woocommerce에서

. 비 등록 된 사용자가 그의 첫번째 구매할

(동시에 가입) 데이터가 모두 wp_usermetawp_postmeta 테이블에 저장된다.

사용자는 무엇이든 구입하기 전에 등록 할 때 데이터는 wp_usermeta 테이블에만 등록됩니다. 이 모든 내용은


가 사용자 데이터를 2 곳이다 추론 :

1) billing_first_name - 사용자 데이터가 wp_usermeta 테이블에 저장이하고 사용자로부터 편집의 내 계정 페이지 (또는 사용자 편집 페이지의 백엔드에서).

2) _billing_first_name(밑줄로 항상 시작) - 주문 고객 데이터 wp_postmeta 테이블에 저장하며 관리자와 상점 관리자에 의해 백엔드 주문 편집 페이지를 통해서만 편집 할 수 있습니다. 이 데이터는 모든 곳의 주문과 이메일 알림에 표시됩니다.
맨 앞의 밑줄은이 데이터가 사용자 정의 필드 인 메타 BOX (주문 편집 페이지에서)에 표시되지 않도록합니다.

이렇게하면 고객이 원하는 경우 다른 청구서 발송 데이터를 가질 수 있으므로 주문서에는 usermeta 데이터와 다른 청구 또는 운송 필드가있을 수 있습니다.

우체국은 둘 다 필요합니다. 이 당신위한 진짜 악몽이 될 것이기 때문에
당신은 ..., 도움이

+0

감사를이 관련된 변경을해서는 안된다. 그러나 두 개의 메타 데이터 조각은'wp_postmeta'에서 발견되었고 사용자는 결코 등록하지 않았습니다. –

+0

@ChrisPhillips * (질문에 명확하게 설명되지 않음) * ... 따라서 'billing_first_name'이 없기 때문에 이것이 유일한 이유 일 것입니다. ** 일반적으로'wp_posrmeta' 만 청구됩니다. 밑줄 문자로 시작하는 배송 필드. – LoicTheAztec

관련 문제