Set dynamic Options array in woocommerce_form_field

Question

So I have the following code:

/**
 Add custom fields to user / checkout - Date + Venue
 */
 add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' ); 
 function my_custom_checkout_field( $checkout ) {

if( have_rows('date_venue', 424) ): $x = 1;
    while ( have_rows('date_venue', 424) ) : the_row(); ?>
        <?php $dates[] = get_sub_field('date').' - '.get_sub_field('session_time'); ?>
    <?php $x++; endwhile;
else : endif;

 echo '<div id="bv_custom_checkout_field"><h4>Select Course Date/Venue</h4>';
    woocommerce_form_field( 'course_venue', array(
        'type' => 'select',
        'class' => array('my-class form-row-wide'),
        'label' => __('Select Course Date / Venue'),
        'placeholder' => __('Course Date/Venue'),
        'options'       => array(
            $dates[0]       => __( $dates[0], 'wps' ),
            $dates[1]   => __( $dates[1], 'wps' ),
            $dates[2]   => __( $dates[2], 'wps' )
            ),
        ),
        get_user_meta(  get_current_user_id(),'course_venue' , true  ) ); echo '</div>';
 }

As you can see I have added $dates[] as an array which could range from 2-X options, which will depend on the product ID.

As an example, I have included the options manually, i.e. dates[0], dates[1] etc…

How would I go about looping this and including it within the options array?

It works fine as it is, but it’s not dynamic.

Any help is much appreciated!

0
nsilva 4 months 0 Answers 15 views 0

Leave an answer