Woocommerce:一次移除所有表单标签


Woocommerce: remove all form labels at once

我正在使用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;
}