Проблема с отображением поля условного расчета ⇐ Php
-
Гость
Проблема с отображением поля условного расчета
Я создавал различные продукты в WordPress с помощью плагина WooCommerce. Теперь для каждой категории товаров я рассмотрел несколько личных полей. Например, продукты в категории онлайн-игр имеют поле пароля, а продукты в категории программного обеспечения — поле идентификатора программного обеспечения. С помощью следующего кода я определил в функции шаблона, что, например, если продукт находится в категории с конфликтом адресов, он должен отображать нужные поля:
add_filter('woocommerce_checkout_fields', 'add_custom_field_based_on_product_category'); функция add_custom_field_based_on_product_category ($fields) { $target_category = 'столкновение кланов'; $has_same_category_product = ложь; foreach (WC()->cart->get_cart() as $cart_item) { $product = $cart_item['данные']; if (has_term($target_category, 'product_cat', $product->get_id())) { $has_same_category_product = правда; перерыв; } } // Если в корзине находится товар той же категории, добавьте настраиваемое поле если ($has_same_category_product) { $fields['billing']['billing_custom_field'] = массив( 'тип' => 'текст', 'метка' => 'пароль', 'обязательно' => правда, 'class' => array('form-row-wide'), 'ясно' => правда, ); } вернуть $поля; } Код, который я добавляю в функцию, работает правильно, но когда я добавляю к товару такую функцию, как количество бриллиантов, поля не отображаются, а условие отображения становится ложным. Как установить условие для тех же функций продукта?
Я создавал различные продукты в WordPress с помощью плагина WooCommerce. Теперь для каждой категории товаров я рассмотрел несколько личных полей. Например, продукты в категории онлайн-игр имеют поле пароля, а продукты в категории программного обеспечения — поле идентификатора программного обеспечения. С помощью следующего кода я определил в функции шаблона, что, например, если продукт находится в категории с конфликтом адресов, он должен отображать нужные поля:
add_filter('woocommerce_checkout_fields', 'add_custom_field_based_on_product_category'); функция add_custom_field_based_on_product_category ($fields) { $target_category = 'столкновение кланов'; $has_same_category_product = ложь; foreach (WC()->cart->get_cart() as $cart_item) { $product = $cart_item['данные']; if (has_term($target_category, 'product_cat', $product->get_id())) { $has_same_category_product = правда; перерыв; } } // Если в корзине находится товар той же категории, добавьте настраиваемое поле если ($has_same_category_product) { $fields['billing']['billing_custom_field'] = массив( 'тип' => 'текст', 'метка' => 'пароль', 'обязательно' => правда, 'class' => array('form-row-wide'), 'ясно' => правда, ); } вернуть $поля; } Код, который я добавляю в функцию, работает правильно, но когда я добавляю к товару такую функцию, как количество бриллиантов, поля не отображаются, а условие отображения становится ложным. Как установить условие для тех же функций продукта?
Мобильная версия