add_image_size( 'twentyseventeen-thumbnail-avatar', 100, 100, true );
+ // Set the default content width.
+ $GLOBALS['content_width'] = 525;
+
// This theme uses wp_nav_menu() in two locations.
register_nav_menus( array(
'top' => __( 'Top Menu', 'twentyseventeen' ),
*/
add_editor_style( array( 'assets/css/editor-style.css', twentyseventeen_fonts_url() ) );
- add_theme_support( 'starter-content', array(
+ // Define and register starter content to showcase the theme on new sites.
+ $starter_content = array(
'widgets' => array(
+ // Place three core-defined widgets in the sidebar area.
'sidebar-1' => array(
'text_business_info',
'search',
'text_about',
),
+ // Add the core-defined business info widget to the footer 1 area.
'sidebar-2' => array(
'text_business_info',
),
+ // Put two core-defined widgets in the footer 2 area.
'sidebar-3' => array(
'text_about',
'search',
),
),
+ // Specify the core-defined pages to create and add custom thumbnails to some of them.
'posts' => array(
'home',
'about' => array(
),
),
+ // Create the custom image attachments used as post thumbnails for pages.
'attachments' => array(
'image-espresso' => array(
'post_title' => _x( 'Espresso', 'Theme starter content', 'twentyseventeen' ),
- 'file' => 'assets/images/espresso.jpg',
+ 'file' => 'assets/images/espresso.jpg', // URL relative to the template directory.
),
'image-sandwich' => array(
'post_title' => _x( 'Sandwich', 'Theme starter content', 'twentyseventeen' ),
),
),
+ // Default to a static front page and assign the front and posts pages.
'options' => array(
'show_on_front' => 'page',
'page_on_front' => '{{home}}',
'page_for_posts' => '{{blog}}',
),
+ // Set the front page section theme mods to the IDs of the core-registered pages.
'theme_mods' => array(
'panel_1' => '{{homepage-section}}',
'panel_2' => '{{about}}',
'panel_4' => '{{contact}}',
),
+ // Set up nav menus for each of the two areas registered in the theme.
'nav_menus' => array(
+ // Assign a menu to the "top" location.
'top' => array(
'name' => __( 'Top Menu', 'twentyseventeen' ),
'items' => array(
- 'page_home',
+ 'link_home', // Note that the core "home" page is actually a link in case a static front page is not used.
'page_about',
'page_blog',
'page_contact',
),
),
+
+ // Assign a menu to the "social" location.
'social' => array(
'name' => __( 'Social Links Menu', 'twentyseventeen' ),
'items' => array(
),
),
),
- ) );
+ );
+
+ /**
+ * Filters Twenty Seventeen array of starter content.
+ *
+ * @since Twenty Seventeen 1.1
+ *
+ * @param array $starter_content Array of starter content.
+ */
+ $starter_content = apply_filters( 'twentyseventeen_starter_content', $starter_content );
+
+ add_theme_support( 'starter-content', $starter_content );
}
add_action( 'after_setup_theme', 'twentyseventeen_setup' );
*/
function twentyseventeen_content_width() {
- $content_width = 700;
+ $content_width = $GLOBALS['content_width'];
+
+ // Get layout.
+ $page_layout = get_theme_mod( 'page_layout' );
+
+ // Check if layout is one column.
+ if ( 'one-column' === $page_layout ) {
+ if ( twentyseventeen_is_frontpage() ) {
+ $content_width = 644;
+ } elseif ( is_page() ) {
+ $content_width = 740;
+ }
+ }
- if ( twentyseventeen_is_frontpage() ) {
- $content_width = 1120;
+ // Check if is single post and there is no sidebar.
+ if ( is_single() && ! is_active_sidebar( 'sidebar-1' ) ) {
+ $content_width = 740;
}
/**
*/
$GLOBALS['content_width'] = apply_filters( 'twentyseventeen_content_width', $content_width );
}
-add_action( 'after_setup_theme', 'twentyseventeen_content_width', 0 );
+add_action( 'template_redirect', 'twentyseventeen_content_width', 0 );
/**
* Register custom fonts.