X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..61343b82c4f0da4c68e4c6373daafff4a81efdd1:/wp-content/themes/twentytwelve/functions.php diff --git a/wp-content/themes/twentytwelve/functions.php b/wp-content/themes/twentytwelve/functions.php index 760c1132..04981390 100644 --- a/wp-content/themes/twentytwelve/functions.php +++ b/wp-content/themes/twentytwelve/functions.php @@ -83,45 +83,25 @@ add_action( 'after_setup_theme', 'twentytwelve_setup' ); require( get_template_directory() . '/inc/custom-header.php' ); /** - * Enqueues scripts and styles for front-end. + * Returns the Google font stylesheet URL if available. * - * @since Twenty Twelve 1.0 + * The use of Open Sans by default is localized. For languages that use + * characters not supported by the font, the font can be disabled. + * + * @since Twenty Twelve 1.2 + * + * @return string Font stylesheet or empty string if disabled. */ -function twentytwelve_scripts_styles() { - global $wp_styles; - - /* - * Adds JavaScript to pages with the comment form to support - * sites with threaded comments (when in use). - */ - if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) - wp_enqueue_script( 'comment-reply' ); - - /* - * Adds JavaScript for handling the navigation menu hide-and-show behavior. - */ - wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true ); - - /* - * Loads our special font CSS file. - * - * The use of Open Sans by default is localized. For languages that use - * characters not supported by the font, the font can be disabled. - * - * To disable in a child theme, use wp_dequeue_style() - * function mytheme_dequeue_fonts() { - * wp_dequeue_style( 'twentytwelve-fonts' ); - * } - * add_action( 'wp_enqueue_scripts', 'mytheme_dequeue_fonts', 11 ); - */ +function twentytwelve_get_font_url() { + $font_url = ''; /* translators: If there are characters in your language that are not supported - by Open Sans, translate this to 'off'. Do not translate into your own language. */ + by Open Sans, translate this to 'off'. Do not translate into your own language. */ if ( 'off' !== _x( 'on', 'Open Sans font: on or off', 'twentytwelve' ) ) { $subsets = 'latin,latin-ext'; /* translators: To add an additional Open Sans character subset specific to your language, translate - this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language. */ + this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language. */ $subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)', 'twentytwelve' ); if ( 'cyrillic' == $subset ) @@ -136,9 +116,36 @@ function twentytwelve_scripts_styles() { 'family' => 'Open+Sans:400italic,700italic,400,700', 'subset' => $subsets, ); - wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null ); + $font_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ); } + return $font_url; +} + +/** + * Enqueues scripts and styles for front-end. + * + * @since Twenty Twelve 1.0 + */ +function twentytwelve_scripts_styles() { + global $wp_styles; + + /* + * Adds JavaScript to pages with the comment form to support + * sites with threaded comments (when in use). + */ + if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) + wp_enqueue_script( 'comment-reply' ); + + /* + * Adds JavaScript for handling the navigation menu hide-and-show behavior. + */ + wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true ); + + $font_url = twentytwelve_get_font_url(); + if ( ! empty( $font_url ) ) + wp_enqueue_style( 'twentytwelve-fonts', esc_url_raw( $font_url ), array(), null ); + /* * Loads our main stylesheet. */ @@ -152,6 +159,31 @@ function twentytwelve_scripts_styles() { } add_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' ); +/** + * Adds additional stylesheets to the TinyMCE editor if needed. + * + * @uses twentytwelve_get_font_url() To get the Google Font stylesheet URL. + * + * @since Twenty Twelve 1.2 + * + * @param string $mce_css CSS path to load in TinyMCE. + * @return string + */ +function twentytwelve_mce_css( $mce_css ) { + $font_url = twentytwelve_get_font_url(); + + if ( empty( $font_url ) ) + return $mce_css; + + if ( ! empty( $mce_css ) ) + $mce_css .= ','; + + $mce_css .= esc_url_raw( str_replace( ',', '%2C', $font_url ) ); + + return $mce_css; +} +add_filter( 'mce_css', 'twentytwelve_mce_css' ); + /** * Creates a nicely formatted and more specific title element text * for output in head of document, based on current view. @@ -248,8 +280,8 @@ function twentytwelve_content_nav( $html_id ) { if ( $wp_query->max_num_pages > 1 ) : ?> %1$s %2$s', + printf( '%1$s %2$s', get_comment_author_link(), // If current post author is also comment author, make it known visually. - ( $comment->user_id === $post->post_author ) ? ' ' . __( 'Post author', 'twentytwelve' ) . '' : '' + ( $comment->user_id === $post->post_author ) ? '' . __( 'Post author', 'twentytwelve' ) . '' : '' ); printf( '', esc_url( get_comment_link( $comment->comment_ID ) ), @@ -383,6 +415,7 @@ endif; */ function twentytwelve_body_class( $classes ) { $background_color = get_background_color(); + $background_image = get_background_image(); if ( ! is_active_sidebar( 'sidebar-1' ) || is_page_template( 'page-templates/full-width.php' ) ) $classes[] = 'full-width'; @@ -395,10 +428,12 @@ function twentytwelve_body_class( $classes ) { $classes[] = 'two-sidebars'; } - if ( empty( $background_color ) ) - $classes[] = 'custom-background-empty'; - elseif ( in_array( $background_color, array( 'fff', 'ffffff' ) ) ) - $classes[] = 'custom-background-white'; + if ( empty( $background_image ) ) { + if ( empty( $background_color ) ) + $classes[] = 'custom-background-empty'; + elseif ( in_array( $background_color, array( 'fff', 'ffffff' ) ) ) + $classes[] = 'custom-background-white'; + } // Enable custom font class only if the font CSS is queued to load. if ( wp_style_is( 'twentytwelve-fonts', 'queue' ) ) @@ -434,8 +469,9 @@ add_action( 'template_redirect', 'twentytwelve_content_width' ); * @return void */ function twentytwelve_customize_register( $wp_customize ) { - $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; - $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; + $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; + $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; + $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; } add_action( 'customize_register', 'twentytwelve_customize_register' ); @@ -445,6 +481,6 @@ add_action( 'customize_register', 'twentytwelve_customize_register' ); * @since Twenty Twelve 1.0 */ function twentytwelve_customize_preview_js() { - wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20120827', true ); + wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130301', true ); } add_action( 'customize_preview_init', 'twentytwelve_customize_preview_js' );