我在WooCommerce的结帐页面添加了额外的字段,我已经添加了基本的文本字段,但是我想要一个下拉菜单或选择框有几个选项,这是我到目前为止所做的,但我做了一个某处出错
$fields['billing']['billing_meat'] = array(
'label' => __('Food options', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => false,
'clear' => false
'type' => 'select',
'options' => array( // array of key => value pairs for select options
__('I eat meat', 'woocommerce') => __('I eat mate', 'woocommerce'),
__('meat is gross', 'woocommerce') => __('meat is gross', 'woocommerce'),
Run Code Online (Sandbox Code Playgroud)
也许我没有正确定义'type'字段?
感谢负荷
小智 9
如果这是您的确切代码,那么问题是您之后缺少逗号'clear' => false.
我测试了这个并且它有效:
$fields['billing']['billing_meat'] = array(
'label' => __('Food options', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => false,
'clear' => false,
'type' => 'select',
'options' => array(
'eat-meat' => __('I eat maet', 'woocommerce' ),
'not-meat' => __('Meat is gross', 'woocommerce' )
)
);
Run Code Online (Sandbox Code Playgroud)
请注意,我也没有使用__()选项数组键.最好不要翻译那些.
小智 5
这是有效的.这是我的代码
// Hook in
add_filter( 'woocommerce_checkout_fields' , 'dropdown' );
// Our hooked in function - $fields is passed via the filter!
function dropdown( $fields ) {
$fields['billing']['dropdown'] = array(
'label' => __('dropdown', 'woocommerce'),
'placeholder' => _x('dropdown', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true,
'type' => 'select',
'options' => array(
'option 1' => __('option 1', 'woocommerce' ),
'option 2' => __('option 2', 'woocommerce' )
)//end of options
);
return $fields;
}
Run Code Online (Sandbox Code Playgroud)
这很有效.但似乎该值未在_billing_dropdown下保存.我使用"管理列"插件在订单表(管理员端)中添加字段.在我的自定义字段"下拉列表"下,没有显示任何值.我在哪里可以检索到该值?与我在"_billing_purpose"下的其他自定义字段"目的"相同并且是type =>'textarea'.谢谢!
| 归档时间: |
|
| 查看次数: |
14949 次 |
| 最近记录: |