在WooCommerce结帐的订单备注后添加选择字段

时间:2014-04-24 20:54:31

标签: php wordpress woocommerce

我正在尝试在结帐表单的末尾添加一堆自定义字段,以收集我们处理订单所需的其他数据。

这就是我所拥有的:

add_action( 'woocommerce_after_order_notes', 'student_info_fields' );

function student_info_fields( $checkout ) {

    echo '<div id="student_info"><span>The following information below will be used to create an account.</span>';

    //This adds a student_name field 
    woocommerce_form_field( 'student_name', array(
        'type'        => 'text',
        'class'       => array('form-row-wide'),
        'label'       => __('Student Name'),
        'placeholder' => __('eg: "John Smith", "Johnny", etc'),
        'required'    => 'true',
    ), $checkout->get_value( 'student_name' ));

    /* I have two other text fields here that follow the same syntax as student_name */

    //This adds a student_gender field 
    woocommerce_form_field( 'student_gender', array(
       'type'        => 'select',
       'label'       => __('Gender', 'woocommerce'),
       'placeholder' => _x('', 'placeholder', 'woocommerce'),
       'required'    => 'true',
       'options'     => array(
          'male' => __('Male', 'woocommerce' ),
          'female' => __('Female', 'woocommerce' )
       ),
    ), $checkout->get_value( 'student_gender' ));

    echo '</div>';

}

文本字段似乎都有效,但是当我添加student_gender字段时,我的分页符(全白屏幕)。通过调用options数组中的student_gender数组,以及在声明每个字段后调用$checkout ->get_value...行,我有点恼火,但我根本不知道是什么要做。

你能给我的任何方向都会对破解这个坚果有所帮助。谢谢你坚持下去!

1 个答案:

答案 0 :(得分:1)

我看着它,弄清楚我搞砸了什么。也就是说,它指向了我的label声明,我认为它并没有使用正确的语法。

我将代码更改为:

    //This adds a student_gender field 
woocommerce_form_field( 'student_gender', array(
    'type'        => 'select',
    'label'       => __('Student Gender'),
    'placeholder' => _x('', 'placeholder', 'woocommerce'),
    'required'    => 'true',
    'options'     => array(
           'male' => __('Male', 'woocommerce' ),
           'female' => __('Female', 'woocommerce' )
    ),
), $checkout->get_value( 'student_grade' ));