Intereting Posts
php Как получить размер веб-изображения в kb? Какой хэш используют сеансы PHP при хранении идентификатора? HTTP POST из PHP, без cURL XML или PHP, или кто-то ест моих персонажей Как я могу остановить появление PHP-сообщений в WordPress? странное кодирование символов хранимых данных, старый скрипт показывает им прекрасный новый, не удаление последних 3 символов в файле (расширение файла) как загрузить файл на основе blob из базы данных MySQL в PHP? Как разрешить пользователям пометить своих друзей в обновлении статуса Facebook, опубликованном на вкладке на странице Facebook? Есть ли способ префикс имени элемента Zend_Form? Ошибка HybridAuth / PHP Facebook SDK (getUser возвращает 0) Как добавить новый вид (а также новый тип элемента меню) к существующим компонентам Joomla 2.5? Ошибка анализа: синтаксическая ошибка, неожиданный T_IF Отправить данные пользователя moodle после регистрации Синхронизированные функции с использованием PHP

Отображение пользовательских данных продукта в представлении «Элементы заказа»

У меня проблема с добавлением в корзину. У меня есть продукт с различными пользовательскими условиями для выбора. Когда клиент выбирает конкретный выбор. он добавляет в корзину. Когда клиент выбирает другой выбор и добавляет. Его показывает как второй предмет в тележке. Это нормально. Но после оплаты заказ показывает как пользовательскую опцию под пунктом 1, так и пунктом 2 без пользовательских данных.

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

(Примечание. Я включил опцию «Продано отдельно» от администратора, но ее работа).

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

ПРИМЕЧАНИЕ. Пользовательские данные, которые я использую, – это loc и date.

Заранее спасибо.

ОБНОВИТЬ:

См. Последние связанные вопросы (реальные рабочие примеры):

  • Добавление значения пользовательского поля для заказа деталей
  • Добавление динамических данных продукта в качестве метаданных элементов в Заказе

Поэтому вам нужно сначала установить атрибут продукта по отображаемому значению в своих позициях Orders, чтобы получить чистую отображаемую метку для этого значения. Затем вы должны установить эти атрибуты с любым значением в ваших связанных продуктах (эти атрибуты атрибутов мандатов будут заменены вашими таможенными значениями.

Поэтому, если ваш атрибут Name является «Первичный выбор» (например), вы установите pa_primary-choice в:

 wc_add_order_item_meta($item_id, 'pa_primary-choice', $custom_field_value, true); 

Затем вы получите в своих заказах пункты detais под заголовком продукта название ярлыка с вашим настраиваемым значением поля (здесь «XXXX» – это отображаемое значение настраиваемого поля) :

 Primary choice: XXXX 

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

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

 add_action('woocommerce_add_order_item_meta','add_custom_values_to_order_item_meta', 1, 3 ); function add_custom_values_to_order_item_meta( $item_id, $values, $cart_item_key ) { $custom_field1 = $_POST['my_custom_field1_key']; // or $values['my_custom_field1_key']; $custom_field2 = $_POST['my_custom_field2_key']; // or $values['my_custom_field2_key']; if ( !empty($custom field1) ) wc_add_order_item_meta($item_id, 'custom_meta_key1', $custom_field1, true); if ( !empty($custom field2) ) wc_add_order_item_meta($item_id, 'custom_meta_key2', $custom_field2, true); // And so on … } 

Для вариантов продукта это сложнее, если вы хотите получить что-то чистое для каждого элемента, я имею в виду заголовок со значением вашего настраиваемого поля. На данный момент с предоставленной информацией и используемым кодом в вашем вопросе невозможно помочь вам больше …

Код идет в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.


Для «Продано отдельно» то , что вы можете сделать, это использовать woocommerce_is_sold_individually hook, который будет удалять параметры переднего конца количества из продуктов:

 add_filter( 'woocommerce_is_sold_individually', '__return_true' ); 

Код идет в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.