Woocommerce:立即删除所有表单标签

时间:2014-08-22 08:03:54

标签: php wordpress forms woocommerce labels

我正在使用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 个答案:

答案 0 :(得分:6)

您可以使用$field->property删除所有unset 可在此处找到良好的阅读和参考资料:Customizing checkout fields using actions and filters

现在,关于如何在全球范围内执行此操作的问题,您可以使用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;
}

答案 1 :(得分:3)

您可以通过添加以下内容使用css来执行此操作,除此之外我不知道如何立即删除所有标签。

.woocommerce form.checkout label 
{
    display: none;
}