Метаданные WooCommerce Order появляются дважды, один раз с подчеркиванием

Я унаследовал сайт, построенный на Woo-Commerce, с которым я помогаю некоммерческим организациям. У меня есть несколько проблем, которые я исправляю, но вижу некоторые странные ошибки, когда они редактируют заказы.

Кажется, что все теги метаданных биллинга заказа появляются дважды, один раз с подчеркиванием и один раз без, например:

  • _billing_first_name
  • billing_first_name

Они оба содержат значение, введенное клиентом при оформлении заказа, однако версия с подчеркиванием — это то, что редактируется, если вы используете панель администратора для редактирования информации для выставления счета, а версия с подчеркиванием NON отображается в настраиваемых полях.

Это вызывает некоторую путаницу, и я довольно много искал и не понял, почему.

Заранее спасибо, если у кого-нибудь есть какие-либо подсказки, иначе я буду тыкать в код.

1

Решение

Это совершенно нормально (и это не ошибка).

Поскольку woocommerce представляет собой плагин WordPress, он использует классические таблицы пользовательских данных. Но Заказы — это пользовательский тип записей, в которых хранятся собственные пользовательские данные.

В woocommerce вы можете купить опционально без регистрации, в этом случае пользовательские данные находятся только в данных Postmeta заказа.

Когда незарегистрированный пользователь совершает свою первую покупку (регистрация одновременно) данные сохраняются в обоих wp_usermeta а также wp_postmeta столы.

Когда пользователь регистрируется перед покупкой чего-либо, данные будут зарегистрированы только в wp_usermeta Таблица.


По всем этим причинам есть 2 места для пользовательских данных:

1) billing_first_name — Пользовательские данные хранятся на wp_usermeta таблица и редактируемая от пользователя страницы моего аккаунта (или на бэкенде от страницы редактирования пользователя).

2) _billing_first_name (начинайте всегда с подчеркивания) — Данные клиента заказа хранятся в wp_postmeta таблица и редактируется только через бэкенд. Страницы редактирования заказа от администраторов и менеджеров магазинов. Эти данные отображаются во всех заказах и в уведомлениях по электронной почте …
Подчеркните в начале, чтобы эти данные не отображались в пользовательских полях Meta BOX (на страницах редактирования заказа).

Таким образом, у Заказа могут быть другие поля выставления счета или доставки, чем в пользовательских данных, поскольку клиент может иметь другие данные выставления счета / доставки, если он этого хочет.

Woocommerce нуждается в них обоих.
Вы не должны вносить никаких изменений, связанных с этим, потому что это будет настоящий кошмар для тебя

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]