Woocommerce: удалите все ярлыки форм сразу
Я использую WooCommerce для создания интернет-магазина.
Определенный формат форм заключается в том, что в них нет меток, только заполнители. Я удалял ярлыки вот так:
<?php
// WooCommerce Checkout Fields Hook
add_filter( 'woocommerce_checkout_fields' , 'custom_wc_checkout_fields' );
// Change the format of fields with type, label, placeholder, class, required, clear, label_class, options
function custom_wc_checkout_fields( $fields ) {
//BILLING
$fields['billing']['billing_first_name']['label'] = false;
return $fields;
}
?>
Но так как я нигде не хочу никаких ярлыков, мне было интересно, есть ли способ удалить их все сразу. Вместо того, чтобы рассматривать их все по отдельности. У кого-нибудь есть идея?
Спасибо!
ИЗМЕНИТЬ:
Я понимаю, что это возможно, просто добавив немного css (не отображать), но поскольку это не очень чистое решение, мне было интересно, есть ли какой-то другой способ добиться этого.
2 answers
Вы можете удалить любой $field->property
с помощью unset
.
Хорошее чтение и ссылки можно найти здесь: Настройка полей оформления заказа с помощью действий и фильтров
Теперь, для вашего вопроса о том, как сделать это глобально, вы можете использовать loop
, что-то вроде:
// WooCommerce Checkout Fields Hook
add_filter('woocommerce_checkout_fields','custom_wc_checkout_fields_no_label');
// Our hooked in function - $fields is passed via the filter!
// Action: remove label from $fields
function custom_wc_checkout_fields_no_label($fields) {
// loop by category
foreach ($fields as $category => $value) {
// loop by fields
foreach ($fields[$category] as $field => $property) {
// remove label property
unset($fields[$category][$field]['label']);
}
}
return $fields;
}
- Онлайн-пример: http://codepad.org/drvBYYS8
- Связано с хорошим советом в принятом ответе: WooCommerce Меняет метки форм и удаляет поля
Вы можете сделать это с помощью css, добавив следующее, кроме этого, я не знаю способа удалить все метки сразу.
.woocommerce form.checkout label
{
display: none;
}