X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/42aebe6945a3a60c8f73853bea2c8b202d64a20b..256a3b381f63716209b3527d0a14442ae570c283:/wp-content/themes/twentyfourteen/inc/customizer.php diff --git a/wp-content/themes/twentyfourteen/inc/customizer.php b/wp-content/themes/twentyfourteen/inc/customizer.php new file mode 100644 index 00000000..37a37552 --- /dev/null +++ b/wp-content/themes/twentyfourteen/inc/customizer.php @@ -0,0 +1,108 @@ +get_section( 'colors' )->description = __( 'Background may only be visible on wide screens.', 'twentyfourteen' ); + $wp_customize->get_section( 'background_image' )->description = __( 'Background may only be visible on wide screens.', 'twentyfourteen' ); + + // Add postMessage support for site title and description. + $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; + $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; + $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; + + // Rename the label to "Site Title Color" because this only affects the site title in this theme. + $wp_customize->get_control( 'header_textcolor' )->label = __( 'Site Title Color', 'twentyfourteen' ); + + // Rename the label to "Display Site Title & Tagline" in order to make this option extra clear. + $wp_customize->get_control( 'display_header_text' )->label = __( 'Display Site Title & Tagline', 'twentyfourteen' ); + + // Add the featured content section in case it's not already there. + $wp_customize->add_section( 'featured_content', array( + 'title' => __( 'Featured Content', 'twentyfourteen' ), + 'description' => sprintf( __( 'Use a tag to feature your posts. If no posts match the tag, sticky posts will be displayed instead.', 'twentyfourteen' ), admin_url( '/edit.php?tag=featured' ), admin_url( '/edit.php?show_sticky=1' ) ), + 'priority' => 130, + ) ); + + // Add the featured content layout setting and control. + $wp_customize->add_setting( 'featured_content_layout', array( + 'default' => 'grid', + 'sanitize_callback' => 'twentyfourteen_sanitize_layout', + ) ); + + $wp_customize->add_control( 'featured_content_layout', array( + 'label' => __( 'Layout', 'twentyfourteen' ), + 'section' => 'featured_content', + 'type' => 'select', + 'choices' => array( + 'grid' => __( 'Grid', 'twentyfourteen' ), + 'slider' => __( 'Slider', 'twentyfourteen' ), + ), + ) ); +} +add_action( 'customize_register', 'twentyfourteen_customize_register' ); + +/** + * Sanitize the Featured Content layout value. + * + * @since Twenty Fourteen 1.0 + * + * @param string $layout Layout type. + * @return string Filtered layout type (grid|slider). + */ +function twentyfourteen_sanitize_layout( $layout ) { + if ( ! in_array( $layout, array( 'grid', 'slider' ) ) ) { + $layout = 'grid'; + } + + return $layout; +} + +/** + * Bind JS handlers to make Theme Customizer preview reload changes asynchronously. + * + * @since Twenty Fourteen 1.0 + */ +function twentyfourteen_customize_preview_js() { + wp_enqueue_script( 'twentyfourteen_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20131205', true ); +} +add_action( 'customize_preview_init', 'twentyfourteen_customize_preview_js' ); + +/** + * Add contextual help to the Themes and Post edit screens. + * + * @since Twenty Fourteen 1.0 + * + * @return void + */ +function twentyfourteen_contextual_help() { + if ( 'admin_head-edit.php' === current_filter() && 'post' !== $GLOBALS['typenow'] ) { + return; + } + + get_current_screen()->add_help_tab( array( + 'id' => 'twentyfourteen', + 'title' => __( 'Twenty Fourteen', 'twentyfourteen' ), + 'content' => + '', + ) ); +} +add_action( 'admin_head-themes.php', 'twentyfourteen_contextual_help' ); +add_action( 'admin_head-edit.php', 'twentyfourteen_contextual_help' );