woocommerce_wp_select options array from product attribute terms



PHP Snippet 1:

// Display Extra Fields on General Tab Section
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
function woo_add_custom_general_fields() {
    global $post;

    // Set HERE the product attribute taxonomy
    $taxonomy = 'pa_breed';

    // Get the selected value  <== <== (updated)
    $value = get_post_meta( $post->ID, '_select', true );
    if( empty( $value ) ) $value = '';

    $dog_breeds = get_terms( $taxonomy, array(
        'hide_empty' => false,
        'order' => 'ASC',
        'fields' => 'names'
    ) );

    $options[''] = __( 'Select a value', 'woocommerce'); // default value

    foreach ($dog_breeds as $key => $term)
        $options[$term] = $term; //  <===  <===  <===  Here the correct array

    echo '<div class="options_group">';

    woocommerce_wp_select( array(
        'id'      => '_select',
        'label'   => __( 'My Select Field', 'woocommerce' ),
        'options' =>  $options, //this is where I am having trouble
        'value'   => $value,
    ) );

    echo '</div>';
}

// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );
function woo_add_custom_general_fields_save( $post_id ){

// Select
    $woocommerce_select = $_POST['_select'];
    if( !empty( $woocommerce_select ) )
        update_post_meta( $post_id, '_select', esc_attr( $woocommerce_select ) );
    else {
        update_post_meta( $post_id, '_select',  '' );
    }
}

PHP Snippet 2:

woocommerce_wp_select(array(
    'id' => '_select',
    'label' => __('My Select Field', 'woocommerce'),
    'options' => array(
        'red' => 'Red',
        'blue' => 'Blue'
    ),
));