场景 - 我们正在开发一个仅适用于慈善机构的特定WooCommerce网站。因此,在结帐页面上,我们想将“公司名称”更改为“慈善名称”
我们已经通过以下代码实现了目标。 -
add_filter( 'woocommerce_billing_fields', 'custom_woocommerce_billing_fields' );
function custom_woocommerce_billing_fields( $fields ) {
$fields['billing_company'] = array(
'label' => __('Charity Name', 'woothemes'),
'placeholder' => __('Charity Name', 'woothemes'),
'required' => true,
'class' => array('billing-company'),
);
return $fields;
}
这会更改字段名称,但我们需要在标签下方显示的说明 - “请输入您慈善机构的全名”
我们尝试添加行
'description' => __( 'Please enter the full name of your Charity', 'woothemes' )
但是,它似乎无法正常工作或显示在页面上甚至代码中。
有人可以用同样的方式指导我。
提前谢谢。
答案 0 :(得分:2)
这个文档没有很好的记录,但这些是woocommerce_form_field()函数的默认字段,即传递数组的位置,因此您可以确定可能的键。它位于includes/wc-template-functions.php
:
$defaults = array(
'type' => 'text',
'label' => '',
'placeholder' => '',
'maxlength' => false,
'required' => false,
'class' => array(),
'label_class' => array(),
'input_class' => array(),
'return' => false,
'options' => array(),
'custom_attributes' => array(),
'validate' => array(),
'default' => '',
);
此方法无法附加您自己的HTML,但您可以使用custom_attributes
(保存文字说明)和input_class
来破解它(告诉jQuery使用此方法)附加到DOM)选项。
添加CSS类和自定义属性以保存jQuery的值
add_filter( 'woocommerce_billing_fields', 'custom_woocommerce_billing_fields' );
function custom_woocommerce_billing_fields( $fields ) {
$fields['billing_company'] = array(
'label' => __('Charity Name', 'woothemes'),
'placeholder' => __('Charity Name', 'woothemes'),
'required' => true,
'class' => array('billing-company'),
'custom_attributes' = array( 'item-description'=>'YOUR DESCRIPTION' ),
'input_class' = array( 'append-description' ),
);
return $fields;
}
使用jQuery将CSS类用作选择器并获取说明
jQuery('.append-description').each(function(){
var item = jQuery(this);
var description = item.attr('item-description');
item.parent().append('<div>'+description+'</div>');
});
请注意上述代码未经测试且可能无效,请以实施为例。
答案 1 :(得分:0)
现在提供说明。您可以添加一个,它将在下面显示为span =“description”。