The custom_header_options WordPress PHP action fires just before the submit button in the custom header options form.
Usage
add_action('custom_header_options', 'your_custom_function'); function your_custom_function() { // Your custom code here }
Parameters
- None
More information
See WordPress Developer Resources: custom_header_options
Examples
Add a Custom Field to the Custom Header Options Form
This example adds a new custom field to the custom header options form.
add_action('custom_header_options', 'add_custom_field_to_header_options'); function add_custom_field_to_header_options() { ?> <p> <label for="custom_header_subtitle"><?php _e('Header Subtitle', 'textdomain'); ?></label> <input type="text" id="custom_header_subtitle" name="custom_header_subtitle" value="<?php echo esc_attr(get_theme_mod('custom_header_subtitle', '')); ?>" /> </p> <?php }
Add a Checkbox for Displaying a Call to Action Button
This example adds a checkbox to enable or disable the display of a call to action button in the header.
add_action('custom_header_options', 'add_cta_checkbox_to_header_options'); function add_cta_checkbox_to_header_options() { ?> <p> <label for="display_cta_button"><?php _e('Display Call to Action Button', 'textdomain'); ?></label> <input type="checkbox" id="display_cta_button" name="display_cta_button" value="1" <?php checked(get_theme_mod('display_cta_button', 0), 1); ?> /> </p> <?php }
Add a Color Picker for the Header Text Color
This example adds a color picker to customize the header text color.
add_action('custom_header_options', 'add_color_picker_to_header_options'); function add_color_picker_to_header_options() { wp_enqueue_style('wp-color-picker'); wp_enqueue_script('wp-color-picker'); ?> <p> <label for="header_text_color"><?php _e('Header Text Color', 'textdomain'); ?></label> <input type="text" id="header_text_color" name="header_text_color" value="<?php echo esc_attr(get_theme_mod('header_text_color', '')); ?>" class="color-picker" /> </p> <script> jQuery(document).ready(function($) { $('.color-picker').wpColorPicker(); }); </script> <?php }
Add a Dropdown to Select Header Layout
This example adds a dropdown to select different header layout options.
add_action('custom_header_options', 'add_header_layout_dropdown'); function add_header_layout_dropdown() { $layouts = array( 'layout1' => __('Layout 1', 'textdomain'), 'layout2' => __('Layout 2', 'textdomain'), 'layout3' => __('Layout 3', 'textdomain'), ); ?> <p> <label for="header_layout"><?php _e('Header Layout', 'textdomain'); ?></label> <select id="header_layout" name="header_layout"> <?php foreach ($layouts as $value => $label) : ?> <option value="<?php echo esc_attr($value); ?>" <?php selected(get_theme_mod('header_layout', 'layout1'), $value); ?>><?php echo esc_html($label); ?></option> <?php endforeach; </select> </p> <?php }
Add an Image Upload Field for a Custom Header Logo
This example adds an image upload field to allow the user to upload a custom header logo.
add_action('custom_header_options', 'add_header_logo_upload_field'); function add_header_logo_upload_field() { wp_enqueue_media(); ?> <p> <label for="header_logo"><?php _e('Header Logo', 'textdomain'); ?></label> <input type="hidden" id="header_logo" name="header_logo" value="<?php echo esc_attr(get_theme_mod('header_logo', '')); ?>" /> <button type="button" class="button header-logo-upload"><?php _e('Upload Logo', 'textdomain'); ?></button> </p> <script> jQuery(document).ready(function($) { $('.header-logo-upload').on('click', function(e) { e.preventDefault(); var customUploader = wp.media({ title: '<?php _e('Select Logo', 'textdomain'); ?>', button: { text: '<?php _e('Use as Logo', 'textdomain'); ?>' }, multiple: false }).on('select', function() { var attachment = customUploader.state().get('selection').first().toJSON(); $('#header_logo').val(attachment.url); }).open(); }); }); </script> <?php }