Мой магазин предлагает «назовите свою цену» только для того, чтобы доставлять файлы пользователям моих бесплатных руководств.
Поэтому страница оформления заказа должна быть как можно более легкой, удалив эти бесполезные поля.
Я использую приведенный ниже фрагмент, который, похоже, не имеет никакого эффекта.
Он выполняется через плагин фрагмента. Поля остаются.
Шаг 2: когда это сработает, я буду отображать поля электронной почты только в том случае, если будет сделано пожертвование (то есть, когда цена больше 0).
Обратите внимание, что я добавил просто echo «Загрузить»;, чтобы быть уверенным, что код выполняется, и это так...
Я проверил обязательный аргумент со значением false, чтобы посмотреть, изменится ли он что-нибудь, но это не сработало.
add_filter( 'woocommerce_checkout_fields' , 'custom_remove_woo_checkout_fields' );
function custom_remove_woo_checkout_fields( $fields ) {
echo "Download"; // Just for testing
// remove billing fields
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
unset($fields['billing']['billing_email']);
// remove shipping fields
unset($fields['shipping']['shipping_first_name']);
unset($fields['shipping']['shipping_last_name']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_city']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
// remove order comment fields
unset($fields['order']['order_comments']);
// remove billing fields required
$fields['billing']['billing_first_name']['required'] = false;
$fields['billing']['billing_last_name']['required'] = false;
$fields['billing']['billing_company']['required'] = false;
$fields['billing']['billing_address_1']['required'] = false;
$fields['billing']['billing_address_2']['required'] = false;
$fields['billing']['billing_city']['required'] = false;
$fields['billing']['billing_postcode']['required'] = false;
$fields['billing']['billing_country']['required'] = false;
$fields['billing']['billing_state']['required'] = false;
$fields['billing']['billing_phone']['required'] = false;
$fields['billing']['billing_email']['required'] = false;
// remove shipping fields required
$fields['shipping']['shipping_first_name']['required'] = false;
$fields['shipping']['shipping_last_name']['required'] = false;
$fields['shipping']['shipping_company']['required'] = false;
$fields['shipping']['shipping_address_1']['required'] = false;
$fields['shipping']['shipping_address_2']['required'] = false;
$fields['shipping']['shipping_city']['required'] = false;
$fields['shipping']['shipping_postcode']['required'] = false;
$fields['shipping']['shipping_country']['required'] = false;
$fields['shipping']['shipping_state']['required'] = false;
$fields['billing']['billing_first_name']['required'] = false;
return $fields;
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-not-work
Обычный метод для полей оформления заказа в WooCommerce не работает [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
1729807911
Anonymous
Мой магазин предлагает «назовите свою цену» только для того, чтобы доставлять файлы пользователям моих бесплатных руководств.
Поэтому страница оформления заказа должна быть как можно более легкой, удалив эти бесполезные поля.
Я использую приведенный ниже фрагмент, который, похоже, не имеет никакого эффекта.
Он выполняется через плагин фрагмента. Поля остаются.
Шаг 2: когда это сработает, я буду отображать поля электронной почты только в том случае, если будет сделано пожертвование (то есть, когда цена больше 0).
Обратите внимание, что я добавил просто echo «Загрузить»;, чтобы быть уверенным, что код выполняется, и это так...
Я проверил обязательный аргумент со значением false, чтобы посмотреть, изменится ли он что-нибудь, но это не сработало.
add_filter( 'woocommerce_checkout_fields' , 'custom_remove_woo_checkout_fields' );
function custom_remove_woo_checkout_fields( $fields ) {
echo "Download"; // Just for testing
// remove billing fields
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
unset($fields['billing']['billing_email']);
// remove shipping fields
unset($fields['shipping']['shipping_first_name']);
unset($fields['shipping']['shipping_last_name']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_city']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
// remove order comment fields
unset($fields['order']['order_comments']);
// remove billing fields required
$fields['billing']['billing_first_name']['required'] = false;
$fields['billing']['billing_last_name']['required'] = false;
$fields['billing']['billing_company']['required'] = false;
$fields['billing']['billing_address_1']['required'] = false;
$fields['billing']['billing_address_2']['required'] = false;
$fields['billing']['billing_city']['required'] = false;
$fields['billing']['billing_postcode']['required'] = false;
$fields['billing']['billing_country']['required'] = false;
$fields['billing']['billing_state']['required'] = false;
$fields['billing']['billing_phone']['required'] = false;
$fields['billing']['billing_email']['required'] = false;
// remove shipping fields required
$fields['shipping']['shipping_first_name']['required'] = false;
$fields['shipping']['shipping_last_name']['required'] = false;
$fields['shipping']['shipping_company']['required'] = false;
$fields['shipping']['shipping_address_1']['required'] = false;
$fields['shipping']['shipping_address_2']['required'] = false;
$fields['shipping']['shipping_city']['required'] = false;
$fields['shipping']['shipping_postcode']['required'] = false;
$fields['shipping']['shipping_country']['required'] = false;
$fields['shipping']['shipping_state']['required'] = false;
$fields['billing']['billing_first_name']['required'] = false;
return $fields;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79123152/usual-method-for-checkout-fields-in-woocommerce-does-not-work[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия