我正在使用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(显示无),但由于这不是一个非常干净的解决方案,我想知道是否有一些其他的方法来完成这一点。
您可以用unset
删除任何$field->property
。
可以在这里找到很好的阅读和参考:使用操作和过滤器自定义结帐字段
现在,对于你关于如何全局执行的问题,你可以使用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 ($value 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;
}