I am adding custom fields in Woocommerce Variable Subscriptions and its working fine for all except for dropdown with ability to select multiple. Here is my code.
<?php
// Showing fields for variable subscriptions
add_action('woocommerce_product_after_variable_attributes', 'show_WC_Product_Variable_Subscription_Variation_Custom_Fields', 10, 3);
// Saving fields for variable subscriptions
add_action('woocommerce_save_product_variation', 'save_WC_Product_Variable_Subscription_Variation_Custom_Fields', 10, 2);
function show_WC_Product_Variable_Subscription_Variation_Custom_Fields($loop, $variation_data, $variation) {
echo '<strong>' . __("Mindesk e-Commerce", 'woocommerce') . '</strong>';
// Mindesk User IDS
$mindesk_user_ids = get_post_meta($variation->ID, 'mindesk_user_ids', true);
woocommerce_wp_select(
array(
'id' => "mindesk_user_ids{$loop}",
'name' => "mindesk_user_ids[][{$loop}]",
'wrapper_class' => 'product_custom_field form-row ',
'class' => 'mindesk_select2',
'label' => __('Mindesk User IDs', 'woocommerce'),
'default' => $mindesk_user_ids,
'class' => 'mindesk_select2',
'options' => array(
'Mon' => 'Monday',
'Tue' => 'Tuesday',
'Wed' => 'Wednesday',
'Thu' => 'Thursday',
'Fri' => 'Friday',
'Sat' => 'Saturday',
'Sun' => 'Sunday'
),
'custom_attributes' => array('multiple' => 'multiple')
)
);
}
function save_WC_Product_Variable_Subscription_Variation_Custom_Fields($variation_id, $loop) {
// Mindesk User IDs
$mindesk_user_ids = $_POST['mindesk_user_ids'][$loop];
update_post_meta($variation_id, 'mindesk_user_ids', esc_attr($mindesk_user_ids));
}
As you can see here, I am showing select box and I am able to select multiple fields but when I save this, in my database its value saving as Array
..
I have tried to replace my loop
variable name something like 'name' => "mindesk_user_ids[{$loop}][]",
but its not working .. I also want once saved, those values to set as selected.
Can someone guide me what I am doing wrong here?
Any guidance will be highly appreciated.
Thanks