WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The following code allows you to upload multiple images but only one is saved to the option. Can multiple images be saved to the option as an array or would I have to create separate controls?

    'description'=>"Choose the images for the slider",

$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize,"slider[images]",array(
share|improve this question

You define the setting as an array, however, you over and over reference the same entry slider[images].

$wp_customize->add_section("slider_images", array(
    'title' => "Slider",
    'description' => "Choose the images for the slider",
    'priority' => '36',

$wp_customize->add_setting("slider_images", array(
    'default' => "",
    'type' => "option",
$slider_images = get_setting('slider_images');
$num_images = 0;
if (is_array($slider_images) && ! empty($slider_images))
    $num_images = count($slider_images);
$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, "slider_images[".$num_images."]", array(
    'label' => __("Images", "adaptive-framework"),
    'section' => "slider",
    'settings' => "slider_images",

Note: I did not test this, and I never used WP's Theme Customization API before. And, of course, you need to take care of deleting images, and handling the remaining images/array entries and the like. This is just a (most probably not working) example.

If you want to store multiple entries in a single setting, use an array (e.g., slider_images). Then, to define one specific entry, reference the specific array entry (e.g., slider_images[0]).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.