woocommerce_checkout_fields хук-фільтрWC 1.0

Дозволяє змінити набір полів та їх властивості у формах на сторінці оформлення замовлення.

Використання

add_filter( 'woocommerce_checkout_fields', 'wp_kama_woocommerce_checkout_fields_filter');

/**
 * Function for `woocommerce_checkout_fields` filter-hook.
 *
 * @param $fields
 *
 * @return
 */
function wp_kama_woocommerce_checkout_fields_filter( $fields ){

	// Filter...
	return $fields;
}
$fields
Масив полів.

Приклад даних у $fields:

Array(
	[billing] => Array(
			[billing_first_name] => Array(
					[label] => Ім'я
					[required] => 1
					[class] => Array(
							[0] => form-row-first
					)
					[autocomplete] => given-name
					[priority] => 10
			)

			[billing_last_name] => Array(
					[label] => Прізвище
					[required] => 1
					[class] => Array(
							[0] => form-row-last
					)
					[autocomplete] => family-name
					[priority] => 20
			)

			[billing_company] => Array(
					[label] => Назва компанії
					[class] => Array(
							[0] => form-row-wide
					)
					[autocomplete] => організація
					[priority] => 30
					[required] =>
			)

			[billing_country] => Array(
					[type] => country
					[label] => Країна
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
							[2] => update_totals_on_change
					)
					[autocomplete] => country
					[priority] => 40
			)

			[billing_address_1] => Array
				(
					[label] => Адреса
					[placeholder] => Номер будинку та назва вулиці
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-line1
					[priority] => 50
			)

			[billing_address_2] => Array(
					[placeholder] => Додаткові відомості про адресу (необов'язково)
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-line2
					[priority] => 60
					[required] =>
			)

			[billing_city] => Array(
					[label] => Населений пункт
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-level2
					[priority] => 70
			)

			[billing_state] => Array(
					[type] => state
					[label] => Область / район
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[validate] => Array(
							[0] => state
					)
					[autocomplete] => address-level1
					[priority] => 80
					[country_field] => billing_country
					[country] => UA
			)

			[billing_postcode] => Array(
					[label] => Поштовий індекс
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[validate] => Array(
							[0] => postcode
					)
					[autocomplete] => postal-code
					[priority] => 90
			)

			[billing_phone] => Array(
					[label] => Телефон
					[required] => 1
					[type] => tel
					[class] => Array(
							[0] => form-row-wide
					)
					[validate] => Array(
							[0] => phone
					)
					[autocomplete] => tel
					[priority] => 100
			)

			[billing_email] => Array(
					[label] => Email
					[required] => 1
					[type] => email
					[class] => Array(
							[0] => form-row-wide
					)
					[validate] => Array(
							[0] => email
					)
					[autocomplete] => email username
					[priority] => 110
			)

	)

	[Shipping] => Array(
			[shipping_first_name] => Array(
					[label] => Ім'я
					[required] => 1
					[class] => Array(
							[0] => form-row-first
					)
					[autocomplete] => given-name
					[priority] => 10
			)

			[shipping_last_name] => Array(
					[label] => Прізвище
					[required] => 1
					[class] => Array(
							[0] => form-row-last
					)
					[autocomplete] => family-name
					[priority] => 20
			)

			[shipping_company] => Array(
					[label] => Назва компанії
					[class] => Array(
							[0] => form-row-wide
					)
					[autocomplete] => організація
					[priority] => 30
					[required] =>
			)

			[shipping_country] => Array(
					[type] => country
					[label] => Країна
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
							[2] => update_totals_on_change
					)
					[autocomplete] => country
					[priority] => 40
			)

			[shipping_address_1] => Array(
					[label] => Адреса
					[placeholder] => Номер будинку та назва вулиці
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-line1
					[priority] => 50
			)

			[shipping_address_2] => Array(
					[placeholder] => Додаткові відомості про адресу (необов'язково)
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-line2
					[priority] => 60
					[required] =>
			)

			[shipping_city] => Array(
					[label] => Населений пункт
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[autocomplete] => address-level2
					[priority] => 70
			)

			[shipping_state] => Array(
					[type] => state
					[label] => Область / район
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[validate] => Array(
							[0] => state
					)
					[autocomplete] => address-level1
					[priority] => 80
					[country_field] => shipping_country
					[country] => UA
			)

			[shipping_postcode] => Array(
					[label] => Поштовий індекс
					[required] => 1
					[class] => Array(
							[0] => form-row-wide
							[1] => address-field
					)
					[validate] => Array(
							[0] => postcode
					)
					[autocomplete] => postal-code
					[priority] => 90
			)

		)

	[account] => Array()

	[Order] => Array(
			[order_comments] => Array(
					[type] => textarea
					[class] => Array(
							[0] => notes
					)
					[label] => Примітка до замовлення
					[placeholder] => Примітки до вашого замовлення, наприклад, особливі побажання відділу доставки.
			)

	)

)

Приклади

0

#1 Видалимо поле “Назва компанії” з форм на сторінці “Оформлення замовлення”

add_filter( 'woocommerce_checkout_fields', 'remove_billing_company_field' );

/**
 * Видаляє з форм на сторінці "Оформлення замовлення" поле "Назва компанії".
 *
 * @param array $fields
 *
 * @return array
 */
function remove_billing_company_field( $fields ){
	unset( $fields['billing']['billing_company'] );
	unset( $fields['shipping']['shipping_company'] );

	return $fields;
}

Де викликається хук

woocommerce_checkout_fields

Де використовується хук у WooCommerce

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *