Intereting Posts
Как настроить страницу архива типа персонализированного типа как Главная страница Как вызвать get_post ()? Класс Уокнера: проблемы с пониманием того, как метод walk () можно вызывать без ошибок Изменить URL-адрес WordPress для новообразованных сообщений или страниц Архивы и категории в пользовательском меню Google (и другие поисковые системы?), Получая мой сайт с неправильной wp-темой Функция заставляет edit_post_link ссылаться на неправильную запись Отображение при входе в систему после выхода из системы (общая проблема с кэшем W3) Исключить сообщения с пустым post_content в wp_query Cant view wordpress после установки Добавление отслеживания конверсий, специфичных для транзакций, из Adwords в WooCommerce Расширенные настраиваемые поля: Настройте дату начала выбора даты (необходимо выбрать год 1500 и далее) Как получить список типов сообщений, которые «поддерживают» различные вещи, такие как атрибуты страницы? Как изменить текст виджета зависит от условия? Как ограничить страницу

Проверьте атрибут WooCommerce

Я использую WooCommerce на одном из сайтов. Мне нужно добавить еще одно поле во время оформления заказа, чтобы попросить покупателя убрать счет на его имя или имя его бизнеса?

Любой совет, как это сделать? Или что-то вроде этого уже есть в Woo Commerce? Или что может быть самым простым способом сделать это?

Solutions Collecting From Web of "Проверьте атрибут WooCommerce"

Как бы то ни было, я только что написал об этом вчера, чтобы добавить флажок подписки на список рассылки . Ключевыми моментами являются:

  • посмотрите учебник WooCommerce
  • woocommerce_checkout_fields – это крючок фильтра, который позволяет добавлять или изменять какие поля отображаются в форме проверки
  • woocommerce_checkout_update_order_meta – это действие, которое позволяет вам сохранять новые поля
  • woocommerce_email_order_meta_keys – это фильтр, который позволяет добавлять ваши новые поля в письма с подтверждением
  • имя, которое вы выбрали для сохранения метаданных, будет его ярлыком в письме

Вот код, который я использовал:

class WooSubscribeCheckbox { // add hooks into WooCommerce public static function run() { add_filter('woocommerce_checkout_fields', array(__CLASS__, 'filterWooCheckoutFields')); add_action('woocommerce_checkout_update_order_meta', array(__CLASS__, 'actionWooCheckoutUpdateOrderMeta')); add_filter('woocommerce_email_order_meta_keys', array(__CLASS__, 'filterWooEmailOrderMetaKeys')); } /** * add custom fields to WooCommerce checkout * @param array fields * @return array */ public static function filterWooCheckoutFields($fields) { global $woocommerce; // add field at end of billing fields section $fields['billing']['our_mailing_subscribe'] = array( 'type' => 'checkbox', 'label' => 'Subscribe to mailing list?', 'placeholder' => 'Subscribe to mailing list', 'required' => false, 'class' => array(), 'label_class' => array(), ); return $fields; } /** * save custom order fields * @param int $order_id */ public static function actionWooCheckoutUpdateOrderMeta($order_id) { if (isset($_POST['our_mailing_subscribe'])) { update_post_meta($order_id, 'Subscribe to mailing list', stripslashes($_POST['our_mailing_subscribe'])); } } /** * add our custom fields to WooCommerce order emails * @param array $keys * @return array */ public static function filterWooEmailOrderMetaKeys($keys) { $keys[] = 'Subscribe to mailing list'; return $keys; } } WooSubscribeCheckbox::run(); 

Плагин заполнен крючками и содержит обширную документацию .

Из этой ссылки: Учебное пособие – настройка полей проверки с помощью перехватчиков и фильтров .

Как загружаются поля проверки в WooCommerce?

Поля для проверки (биллинга и доставки) поступают из класса стран ( class-wc-countries.php ) и функции get_address_fields это так, что настройки локали применяются к полям, позволяющим WooCommerce включать / отключать поля на основе местоположения пользователей ,

Прежде чем возвращать поля, WC будет запускать поля через фильтр. Это позволяет редактировать их сторонние плагины и темы (и собственный код) .

мой акцент

Если вы не хотите его кодировать самостоятельно. Здесь есть хороший плагин: http://terrytsang.com/shop/shop/woocommerce-custom-checkout-options/