Created
June 21, 2012 21:09
-
Star
(137)
You must be signed in to star a gist -
Fork
(51)
You must be signed in to fork a gist
-
-
Save Abban/2968549 to your computer and use it in GitHub Desktop.
WordPress Theme Customizer Sample
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function themename_customize_register($wp_customize){ | |
$wp_customize->add_section('themename_color_scheme', array( | |
'title' => __('Color Scheme', 'themename'), | |
'priority' => 120, | |
)); | |
// ============================= | |
// = Text Input = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[text_test]', array( | |
'default' => 'Arse!', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control('themename_text_test', array( | |
'label' => __('Text Test', 'themename'), | |
'section' => 'themename_color_scheme', | |
'settings' => 'themename_theme_options[text_test]', | |
)); | |
// ============================= | |
// = Radio Input = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[color_scheme]', array( | |
'default' => 'value2', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control('themename_color_scheme', array( | |
'label' => __('Color Scheme', 'themename'), | |
'section' => 'themename_color_scheme', | |
'settings' => 'themename_theme_options[color_scheme]', | |
'type' => 'radio', | |
'choices' => array( | |
'value1' => 'Choice 1', | |
'value2' => 'Choice 2', | |
'value3' => 'Choice 3', | |
), | |
)); | |
// ============================= | |
// = Checkbox = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[checkbox_test]', array( | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control('display_header_text', array( | |
'settings' => 'themename_theme_options[checkbox_test]', | |
'label' => __('Display Header Text'), | |
'section' => 'themename_color_scheme', | |
'type' => 'checkbox', | |
)); | |
// ============================= | |
// = Select Box = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[header_select]', array( | |
'default' => 'value2', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control( 'example_select_box', array( | |
'settings' => 'themename_theme_options[header_select]', | |
'label' => 'Select Something:', | |
'section' => 'themename_color_scheme', | |
'type' => 'select', | |
'choices' => array( | |
'value1' => 'Choice 1', | |
'value2' => 'Choice 2', | |
'value3' => 'Choice 3', | |
), | |
)); | |
// ============================= | |
// = Image Upload = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[image_upload_test]', array( | |
'default' => 'image.jpg', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize, 'image_upload_test', array( | |
'label' => __('Image Upload Test', 'themename'), | |
'section' => 'themename_color_scheme', | |
'settings' => 'themename_theme_options[image_upload_test]', | |
))); | |
// ============================= | |
// = File Upload = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[upload_test]', array( | |
'default' => 'arse', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control( new WP_Customize_Upload_Control($wp_customize, 'upload_test', array( | |
'label' => __('Upload Test', 'themename'), | |
'section' => 'themename_color_scheme', | |
'settings' => 'themename_theme_options[upload_test]', | |
))); | |
// ============================= | |
// = Color Picker = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[link_color]', array( | |
'default' => '000', | |
'sanitize_callback' => 'sanitize_hex_color', | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_color', array( | |
'label' => __('Link Color', 'themename'), | |
'section' => 'themename_color_scheme', | |
'settings' => 'themename_theme_options[link_color]', | |
))); | |
// ============================= | |
// = Page Dropdown = | |
// ============================= | |
$wp_customize->add_setting('themename_theme_options[page_test]', array( | |
'capability' => 'edit_theme_options', | |
'type' => 'option', | |
)); | |
$wp_customize->add_control('themename_page_test', array( | |
'label' => __('Page Test', 'themename'), | |
'section' => 'themename_color_scheme', | |
'type' => 'dropdown-pages', | |
'settings' => 'themename_theme_options[page_test]', | |
)); | |
} | |
add_action('customize_register', 'themename_customize_register'); |
If anyone is wondering how to render theme mods with names like something[foobar], then check out get_theme_mods. You can see that those mods get unserialized, and to access them you have to use
<?php echo get_theme_mode('something')['foobar']; ?>
(this snippet is php >= 5.4 )
get_option("settings_name")
work for me
Hi i would like to know how to make a section in theme customiser to edit footer content. also what code should i put in footer.php for using this customiser section
How we can populate select box by getting wordpress categories?
Hello,
In your Checkbox add control, change property name "display_header_text" to another because is doesn't work. (may be it's reserved by WP)
Regards
hello ,
how to create custom panel , section ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I simple remove
'type' => 'option',
and works. My simple text input:In theme output:
get_theme_mod('{themename}_theme')
returned all options in array.