esc_html__( 'Main Navigation', 'napoli' ), 'social' => esc_html__( 'Social Icons', 'napoli' ), ) ); // Switch default core markup for search form, comment form, and comments to output valid HTML5. add_theme_support( 'html5', array( 'comment-form', 'comment-list', 'gallery', 'caption', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'napoli_custom_background_args', array( 'default-color' => 'dddddd' ) ) ); // Set up the WordPress core custom logo feature. add_theme_support( 'custom-logo', apply_filters( 'napoli_custom_logo_args', array( 'height' => 50, 'width' => 250, 'flex-height' => true, 'flex-width' => true, ) ) ); // Set up the WordPress core custom header feature. add_theme_support( 'custom-header', apply_filters( 'napoli_custom_header_args', array( 'header-text' => false, 'width' => 2500, 'height' => 500, 'flex-height' => true, ) ) ); // Add Theme Support for wooCommerce. add_theme_support( 'woocommerce' ); // Add extra theme styling to the visual editor. add_editor_style( array( 'assets/css/editor-style.css', get_template_directory_uri() . '/assets/css/custom-fonts.css' ) ); // Add Theme Support for Selective Refresh in Customizer. add_theme_support( 'customize-selective-refresh-widgets' ); // Add custom color palette for Gutenberg. add_theme_support( 'editor-color-palette', array( array( 'name' => esc_html_x( 'Primary', 'Gutenberg Color Palette', 'napoli' ), 'slug' => 'primary', 'color' => apply_filters( 'napoli_primary_color', '#ee4455' ), ), array( 'name' => esc_html_x( 'White', 'Gutenberg Color Palette', 'napoli' ), 'slug' => 'white', 'color' => '#ffffff', ), array( 'name' => esc_html_x( 'Light Gray', 'Gutenberg Color Palette', 'napoli' ), 'slug' => 'light-gray', 'color' => '#f0f0f0', ), array( 'name' => esc_html_x( 'Dark Gray', 'Gutenberg Color Palette', 'napoli' ), 'slug' => 'dark-gray', 'color' => '#777777', ), array( 'name' => esc_html_x( 'Black', 'Gutenberg Color Palette', 'napoli' ), 'slug' => 'black', 'color' => '#303030', ), ) ); // Add support for responsive embed blocks. add_theme_support( 'responsive-embeds' ); } endif; add_action( 'after_setup_theme', 'napoli_setup' ); /** * Set the content width in pixels, based on the theme's design and stylesheet. * Priority 0 to make it available to lower priority callbacks. * * @global int $content_width */ function napoli_content_width() { $GLOBALS['content_width'] = apply_filters( 'napoli_content_width', 840 ); } add_action( 'after_setup_theme', 'napoli_content_width', 0 ); /** * Register widget areas and custom widgets. * * @link http://codex.wordpress.org/Function_Reference/register_sidebar */ function napoli_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'napoli' ), 'id' => 'sidebar', 'description' => esc_html__( 'Appears on posts and pages except the full width template.', 'napoli' ), 'before_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Magazine Homepage', 'napoli' ), 'id' => 'magazine-homepage', 'description' => esc_html__( 'Appears on blog index and Magazine Homepage template. You can use the Magazine widgets here.', 'napoli' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'napoli_widgets_init' ); /** * Enqueue scripts and styles. */ function napoli_scripts() { // Get Theme Version. $theme_version = wp_get_theme()->get( 'Version' ); // Register and Enqueue Stylesheet. wp_enqueue_style( 'napoli-stylesheet', get_stylesheet_uri(), array(), $theme_version ); // Register Genericons. wp_enqueue_style( 'genericons', get_template_directory_uri() . '/assets/genericons/genericons.css', array(), '3.4.1' ); // Register and Enqueue HTML5shiv to support HTML5 elements in older IE versions. wp_enqueue_script( 'html5shiv', get_template_directory_uri() . '/assets/js/html5shiv.min.js', array(), '3.7.3' ); wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' ); // Register and enqueue navigation.js. wp_enqueue_script( 'napoli-jquery-navigation', get_template_directory_uri() . '/assets/js/navigation.js', array( 'jquery' ), '20170105' ); // Register Comment Reply Script for Threaded Comments. if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'napoli_scripts' ); /** * Enqueue custom fonts. */ function napoli_custom_fonts() { wp_enqueue_style( 'napoli-custom-fonts', get_template_directory_uri() . '/assets/css/custom-fonts.css', array(), '20180413' ); } add_action( 'wp_enqueue_scripts', 'napoli_custom_fonts', 1 ); add_action( 'enqueue_block_editor_assets', 'napoli_custom_fonts', 1 ); /** * Enqueue editor styles for the new Gutenberg Editor. */ function napoli_block_editor_assets() { wp_enqueue_style( 'napoli-editor-styles', get_theme_file_uri( '/assets/css/gutenberg-styles.css' ), array(), '20191118', 'all' ); } add_action( 'enqueue_block_editor_assets', 'napoli_block_editor_assets' ); /** * Add custom sizes for featured images */ function napoli_add_image_sizes() { // Add image size for fullwidth posts and pages. add_image_size( 'napoli-fullwidth-page', 1200, 500, true ); // Add different thumbnail sizes for Magazine Posts widgets. add_image_size( 'napoli-thumbnail-small', 130, 100, true ); add_image_size( 'napoli-thumbnail-medium', 360, 200, true ); add_image_size( 'napoli-thumbnail-large', 450, 250, true ); } add_action( 'after_setup_theme', 'napoli_add_image_sizes' ); /** * Make custom image sizes available in Gutenberg. */ function napoli_add_image_size_names( $sizes ) { return array_merge( $sizes, array( 'post-thumbnail' => esc_html__( 'Napoli Single Post', 'napoli' ), 'napoli-thumbnail-large' => esc_html__( 'Napoli Magazine Post', 'napoli' ), 'napoli-thumbnail-small' => esc_html__( 'Napoli Thumbnail', 'napoli' ), ) ); } add_filter( 'image_size_names_choose', 'napoli_add_image_size_names' ); /** * Include Files */ // Include Theme Info page. require get_template_directory() . '/inc/theme-info.php'; // Include Theme Customizer Options. require get_template_directory() . '/inc/customizer/customizer.php'; require get_template_directory() . '/inc/customizer/default-options.php'; // Include Extra Functions. require get_template_directory() . '/inc/extras.php'; // Include Template Functions. require get_template_directory() . '/inc/template-tags.php'; // Include support functions for Theme Addons. require get_template_directory() . '/inc/addons.php'; // Include Post Slider Setup. require get_template_directory() . '/inc/slider.php'; // Include Magazine Functions. require get_template_directory() . '/inc/magazine.php'; // Include Widget Files. require get_template_directory() . '/inc/widgets/widget-magazine-posts-grid.php';