Admin Dashboard, Product Page

WooCommerce Custom Select Field For Product Editor

WooCommerce product editor showing a custom drop-down list select box

Pre-Requisites

There are no pre-requisites in order for you to be able to implement this solution.

How To Implement This Solution?

Simply copy the pre-coded solution to your active theme’s functions.php or preferably the Code Snippets Plugin.

About This Solution

This guide shows you how you can create a custom Select field type in the product editor of WooCommerce. A select field (or drop-down list) is useful when you want to allow only one option from a predefined selection of options. Tax Status is an example existing field which uses the select field type for products. This guide also shows you how you can output the value selected and saved from the product editor on the front-end.

/**
 * Snippet Name:     WooCommerce Custom Product Drop-down list Metabox
 * Snippet Author:   ecommercehints.com
*/

// Create the custom product select metabox
add_action ('woocommerce_product_options_advanced', 'ecommercehints_custom_product_select_metabox');
function ecommercehints_custom_product_select_metabox() {
   echo '<div class="options_group">';
   woocommerce_wp_select(array ( // A select type field
      'id'                => 'custom_product_select_metabox',
      'value'             => get_post_meta (get_the_ID(), 'custom_product_select_metabox', true),
      'label'             => 'Custom Select Field Label',
      'description'       => 'This is the description',
      'desc_tip'          => true, // If true, place description in question mark tooltip.
     'options' => array(
       'option_1' => 'Option 1',
       'option_2' => 'Option 2',
       'option_3' => 'Option 3'
    ),
  ));
   echo '</div>';
}

// Save data selected on update
add_action ('woocommerce_process_product_meta', 'ecommercehints_save_field_on_update', 10, 2);
function ecommercehints_save_field_on_update ($id, $post) {
      update_post_meta ($id, 'custom_product_select_metabox', $_POST['custom_product_select_metabox']);
}

How Do I Get The Custom Select Field Data?

global $product;
$custom_product_select_metabox = $product->get_meta ('custom_product_select_metabox');
echo $custom_product_select_metabox;

100 WooCommerce Conversion Rate Optimisation Tips

This field is for validation purposes and should be left unchanged.

Let’s collaborate!

Need to outsource WordPress development?

Join forces with UnlimitedWP for an outsourced white label web development service you can truly rely on.

First Timer Here?

Sign up to receive 20% off on your first month with us.

26027
WELCOME OFFER