One setting field with one callback function and multiple input fields
-
Hi
I’m developing theme with setting page for multiple image upload.
For each image I have a structure – setting field and callback function which go through multiple input fields.
So far everything is working well but now I am confused since I got multiple input fields and only one setting field for each image. Am I on the right path? Is this correct way of doing this? I appreciate any advice.My options array looks like this:
$options = array( 'slide1'=>array( 'image'=>'', 'title'=>'', 'titlecolor'=>'', 'text'=>'', 'textcolor'=>'', ), 'slide2'=>array( ... ), .... );
I registerd options like this:
register_setting( 'wpbscarousel_options', 'wpbscarousel_options', 'wpbscarousel_options_validate' ); add_settings_section( 'wpbscarousel_section', 'Wpbscarousel Options Section', 'wpbscarousel_section_callback', 'wpbscarousel' ); add_settings_field( 'slide1', 'Wpbscarousel Image1', 'wpbscarousel_slide1_callback', 'wpbscarousel', 'wpbscarousel_section' ); add_settings_field( 'slide2', 'Wpbscarousel Image2', 'wpbscarousel_slide2_callback', 'wpbscarousel', 'wpbscarousel_section' ); add_settings_field( 'slide3', 'Wpbscarousel Image3', 'wpbscarousel_slide3_callback', 'wpbscarousel', 'wpbscarousel_section' );
This is a callback function:
<?php function wpbscarousel_slide1_callback(){ $options = get_option( 'wpbscarousel_options' ); ?> <span class='upload'> <input type='text' id='wpbscarousel_image1' class='regular-text text-upload' name='wpbscarousel_options[slide1][image]' value='<?php echo esc_url($options["slide1"]["image"]); ?>'/> <input type='button' class='button button-upload' value='Upload an image'/> <input type='button' class='button button-remove' value='Remove from slider' /> <img style='max-width: 300px; display: block;' src='<?php echo esc_url($options["slide1"]["image"]); ?>' class='preview-upload'/> <label for="wpbscarousel_title1">Title</label> <input type="text" id="wpbscarousel_title1" class="" name="wpbscarousel_options[slide1][title]" value='<?php echo esc_attr($options["slide1"]["title"]); ?>'/><br/> <label for="wpbscarousel_titlecolor1">Title Color</label> <input type="text" name="wpbscarousel_options[slide1][titlecolor]" id="wpbscarousel_titlecolor1" value="<?php echo esc_attr($options["slide1"]["titlecolor"]); ?>"/> <input type="button" class="pickcolor button-secondary" value="<?php _e('Select Color') ?>"> <div class="colorpicker" style="z-index:100;position:absolute;display:none;"></div><br/> <label for="wpbscarousel_text1">Text</label> <textarea name="wpbscarousel_options[slide1][text]" id="wpbscarousel_text1" rows="2" cols="40"><?php echo esc_attr($options["slide1"]["text"]);?></textarea><br/> <label for="wpbscarousel_textcolor1">Text Color</label> <input type="text" name="wpbscarousel_options[slide1][textcolor]" id="wpbscarousel_textcolor1" value="<?php echo esc_attr($options["slide1"]["textcolor"]); ?>"/> <input type="button" class="pickcolor button-secondary" value="<?php _e('Select Color') ?>"> <div class="colorpicker" style="z-index:100;position:absolute;display:none;"></div><br/> </span> <?php }
- The topic ‘One setting field with one callback function and multiple input fields’ is closed to new replies.