2015-08-26 2 views
1

Я хочу добавить настраиваемое поле options на страницу оформления. Я использую следующий код:Невозможно добавить пользовательское поле выбора в woocommerce

$fields['billing']['billing_options'] = array(
    'label'  => __('Options', 'woocommerce'), 
    'placeholder' => _x('', 'placeholder', 'woocommerce'), 
    'required' => false, 
    'clear'  => false, 
    'type'  => 'select', 
    'options'  => array(
     'option_a' => __('option a', 'woocommerce'), 
     'option_b' => __('option b', 'woocommerce') 
     ) 
    ); 

Я хочу, чтобы показать опции (option_a, option_b) из базы данных или я хочу использовать динамические данные и хочу использовать for loop в меню options

Как Я использую для цикла внутри этой функции?

ответ

2

Просто сделайте это до того, как это:

add_filter('woocommerce_checkout_fields' , 'custom_override_checkout_fields'); 

function my_custom_checkout_fields($fields) { 

    $args = array(                 
     'post_type'   => array('options'),          
     'posts_per_page' => -1               
    );                    

    $posts = new WP_Query($args); 
    $options = array();   

    foreach ($posts as $post) { 
     $options[$post->ID] => attr_esc($post->post_title); 
    } 

    $fields['billing']['billing_options'] = array(
     'label'  => __('Options', 'woocommerce'), 
     'placeholder' => _x('', 'placeholder', 'woocommerce'), 
     'required' => false, 
     'clear'  => false, 
     'type'  => 'select', 
     'options'  => $options 
    ); 
    return $fields; 
} 
Смежные вопросы