. add_theme_support( 'automatic-feed-links' ); // Add support for a variety of post formats add_theme_support( 'post-formats', array( 'aside', 'image', 'link', 'quote' ) ); // This theme uses wp_nav_menu() in one location. register_nav_menu( 'primary', __( 'Primary Menu', 'twentytwelve' ) ); // Add support for custom background. add_theme_support( 'custom-background', array( 'default-color' => 'e6e6e6', ) ); // Add custom image size for featured image use, displayed on "standard" posts. add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 624, 9999 ); // Unlimited height, soft crop } add_action( 'after_setup_theme', 'twentytwelve_setup' ); /** * Add support for a custom header image. */ require( get_template_directory() . '/inc/custom-header.php' ); /** * Enqueue scripts and styles for front-end. * * @since Twenty Twelve 1.0 */ function twentytwelve_scripts_styles() { global $twentytwelve_options; /** * Add 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' ); /** * JavaScript for handling navigation menus and the resized * styles for small screen sizes. */ wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/theme.js', array( 'jquery' ), '20130320', true ); /** * Load special font CSS file. * Depends on Theme Options setting. */ $options = $twentytwelve_options->get_theme_options(); if ( $options['enable_fonts'] ) { $protocol = is_ssl() ? 'https' : 'http'; wp_enqueue_style( 'twentytwelve-fonts', "$protocol://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700" ); } /** * Load our main CSS file. */ wp_enqueue_style( 'twentytwelve-style', get_stylesheet_uri() ); /** * Load HTML5 shiv for older IE version support for HTML5 elements. * Ideally, should load after main CSS file. * * See html5.js link in header.php. * * TODO depends on IE dependency being in core for JS enqueuing * before we can move here properly: see http://core.trac.wordpress.org/ticket/16024 */ } add_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' ); /** * Creates a nicely formatted and more specific title element text * for output in head of document, based on current view. * * @since Twenty Twelve 1.0 * * @param string $title Default title text for current view. * @param string $sep Optional separator. * @return string Filtered title. */ function twentytwelve_wp_title( $title = '', $sep = '' ) { global $paged, $page; if ( is_feed() ) return $title; // Add the blog name. $title .= get_bloginfo( 'name' ); // Add the blog description for the home/front page. $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) $title = "$title $sep $site_description"; // Add a page number if necessary. if ( $paged >= 2 || $page >= 2 ) $title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) ); return $title; } add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 ); /** * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link. * * @since Twenty Twelve 1.0 */ function twentytwelve_page_menu_args( $args ) { $args['show_home'] = true; return $args; } add_filter( 'wp_page_menu_args', 'twentytwelve_page_menu_args' ); /** * Register our single widget area. * * @since Twenty Twelve 1.0 */ function twentytwelve_widgets_init() { register_sidebar( array( 'name' => __( 'Main Sidebar', 'twentytwelve' ), 'id' => 'sidebar-1', 'description' => __( 'Appears on posts and pages except the optional Homepage template, which uses its own set of widgets', 'twentytwelve' ), 'before_widget' => '", 'before_title' => '
', '' ); ?>