2017-10-19 9 views
1

私は非営利団体を支援しているWoo-Commerceで構築されたサイトを継承しました。それは私が修正しているいくつかの問題がありますが、注文を編集するときにいくつかの奇妙なバグが表示されます。彼らは両方で入力した値が含まれているWooCommerceオーダーメタデータがアンダースコアで1回表示されます。

  • _billing_first_name
  • billing_first_name

それは次のように、メタデータタグを一度アンダースコアで一度せず、2回表示課金すべての注文のように思えます顧客が注文をしたときに、アンダースコアは管理ダッシュボードを使用して課金情報を編集し、カスタムフィールドの下に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

関連する問題