tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support('title-tag'); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support('post-thumbnails'); add_image_size('masonry-brick-featured-thumbnail', 600, 450, true); add_image_size('masonry-brick-featured-full', 760, 570, true); add_image_size('masonry-brick-related-posts-thumbnail', 400, 300, true); add_image_size('masonry-brick-featured-small-thumbnail', 120, 90, true); // This theme uses wp_nav_menu() in one location. register_nav_menus(array( 'primary' => esc_html__('Primary Menu', 'masonry-brick'), 'social' => esc_html__('Social Menu', 'masonry-brick'), 'footer' => esc_html__('Footer Menu', 'masonry-brick'), )); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support('html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', )); /* * Enable support for Post Formats. * See https://developer.wordpress.org/themes/functionality/post-formats/ */ add_theme_support('post-formats', array( 'aside', 'image', 'video', 'quote', 'link', 'gallery', 'chat', 'audio', 'status' )); // Set up the WordPress core custom background feature. add_theme_support('custom-background', apply_filters('masonry_brick_custom_background_args', array( 'default-color' => 'eaeaea', 'default-image' => '', ))); } endif; add_action('after_setup_theme', 'masonry_brick_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 masonry_brick_content_width() { $GLOBALS['content_width'] = apply_filters('masonry_brick_content_width', 760); } add_action('after_setup_theme', 'masonry_brick_content_width', 0); /** * $content_width global variable adjustment as per layout option. */ function masonry_brick_dynamic_content_width() { global $post; global $content_width; $masonry_brick_layout_meta = get_post_meta($post->ID, 'masonry_brick_page_layout', true); if (empty($masonry_brick_layout_meta)) { $masonry_brick_layout_meta = 'default_layout'; } $masonry_brick_default_page_layout = get_theme_mod('masonry_brick_default_page_layout', 'right_sidebar'); $masonry_brick_default_post_layout = get_theme_mod('masonry_brick_default_single_posts_layout', 'right_sidebar'); if ($masonry_brick_layout_meta == 'default_layout') { if (is_page()) { if ($masonry_brick_default_page_layout == 'no_sidebar_full_width') { $content_width = 1160; /* pixels */ } else { $content_width = 760; /* pixels */ } } elseif (is_single()) { if ($masonry_brick_default_post_layout == 'no_sidebar_full_width') { $content_width = 1160; /* pixels */ } else { $content_width = 760; /* pixels */ } } } elseif ($masonry_brick_layout_meta == 'no_sidebar_full_width') { $content_width = 1160; /* pixels */ } else { $content_width = 760; /* pixels */ } } add_action('template_redirect', 'masonry_brick_dynamic_content_width'); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function masonry_brick_widgets_init() { // registering the right sidebar area register_sidebar(array( 'name' => esc_html__('Right Sidebar', 'masonry-brick'), 'id' => 'masonry-brick-right-sidebar', 'description' => esc_html__('Display your widgets in the Right Sidebar Area.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the left sidebar area register_sidebar(array( 'name' => esc_html__('Left Sidebar', 'masonry-brick'), 'id' => 'masonry-brick-left-sidebar', 'description' => esc_html__('Display your widgets in the Left Sidebar Area.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the 404 page sidebar area register_sidebar(array( 'name' => esc_html__('404 Sidebar', 'masonry-brick'), 'id' => 'masonry-brick-404-sidebar', 'description' => esc_html__('Display your widgets in the 404 Error Page Sidebar Area.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the contact page sidebar area register_sidebar(array( 'name' => esc_html__('Contact Page Sidebar', 'masonry-brick'), 'id' => 'masonry-brick-contact-page-sidebar', 'description' => esc_html__('Display your widgets in the Contact Page Sidebar Area.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the footer sidebar one area register_sidebar(array( 'name' => esc_html__('Footer Sidebar One', 'masonry-brick'), 'id' => 'masonry-brick-footer-sidebar-one', 'description' => esc_html__('Display your widgets in the Footer Sidebar Area One.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the footer sidebar two area register_sidebar(array( 'name' => esc_html__('Footer Sidebar Two', 'masonry-brick'), 'id' => 'masonry-brick-footer-sidebar-two', 'description' => esc_html__('Display your widgets in the Footer Sidebar Area Two.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); // registering the footer sidebar three area register_sidebar(array( 'name' => esc_html__('Footer Sidebar Three', 'masonry-brick'), 'id' => 'masonry-brick-footer-sidebar-three', 'description' => esc_html__('Display your widgets in the Footer Sidebar Area Three.', 'masonry-brick'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); register_widget('Masonry_Brick_Random_Posts_Widget'); register_widget('Masonry_Brick_Tabbed_Widget'); } add_action('widgets_init', 'masonry_brick_widgets_init'); /* * ************************************************************************************* */ /** * Enqueue scripts and styles. */ if (!function_exists('masonry_brick_fonts_url')) { // Using google font // creating the function for adding the google font url function masonry_brick_fonts_url() { $fonts_url = ''; $fonts = array(); $subsets = 'latin,latin-ext'; // applying the translators for the Google Fonts used /* Translators: If there are characters in your language that are not * supported by Roboto, translate this to 'off'. Do not translate * into your own language. */ if ('off' !== _x('on', 'Roboto font: on or off', 'masonry-brick')) { $fonts[] = 'Roboto:400,400italic,700,700italic'; } /* Translators: If there are characters in your language that are not * supported by Lobster, translate this to 'off'. Do not translate * into your own language. */ if ('off' !== _x('on', 'Lobster font: on or off', 'masonry-brick')) { $fonts[] = 'Lobster'; } /* * Translators: To add an additional character subset specific to your language, * translate this to 'cyrillic'. Do not translate into your own language. */ $subset = _x('no-subset', 'Add new subset ( cyrillic, greek, vietnamese )', 'masonry-brick'); if ('cyrillic' == $subset) { $subsets .= ',cyrillic,cyrillic-ext'; } elseif ('greek' == $subset) { $subsets .= ',greek-ext,greek'; } elseif ('vietnamese' == $subset) { $subsets .= ',vietnamese'; } // Ready to enqueue Google Font if ($fonts) { $fonts_url = add_query_arg(array( 'family' => urlencode(implode('|', $fonts)), 'subset' => urlencode($subsets), ), '//fonts.googleapis.com/css'); } return $fonts_url; } } // completion of enqueue for the google font /** * Enqueue scripts and styles. */ function masonry_brick_scripts() { // adding the function to load the minified version if SCRIPT_DEFUG is disable $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '' : '.min'; // use of enqueued google fonts wp_enqueue_style('masonry-brick-google-fonts', masonry_brick_fonts_url(), array(), null); wp_enqueue_style('masonry-brick-style', get_stylesheet_uri()); // enqueueing the fontawesome icons wp_enqueue_style('font-awesome', get_template_directory_uri() . '/fontawesome/css/font-awesome' . $suffix . '.css'); // enqueueing the fitvids javascript file wp_enqueue_script('jquery-fitvids', get_template_directory_uri() . '/js/fitvids/jquery.fitvids' . $suffix . '.js', array('jquery'), false, true); wp_enqueue_script('masonry-brick-navigation', get_template_directory_uri() . '/js/navigation' . $suffix . '.js', array(), '20151215', true); wp_enqueue_script('masonry-brick-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix' . $suffix . '.js', array(), '20151215', true); // enqueueing the masonry script if (is_home() || is_search() || is_archive()) { wp_enqueue_script('jquery-masonry'); } // enqueueing the bxslider script if (has_post_format('gallery') || is_home() || is_search() || is_archive()) { wp_enqueue_script('jquery-bxslider', get_template_directory_uri() . '/js/jquery.bxslider/jquery.bxslider' . $suffix . '.js', array('jquery'), null, true); } // enqueueing magnific popup if ((get_theme_mod('masonry_brick_featured_image_popup', 0) == 1) && has_post_format('image') && has_post_thumbnail()) { wp_enqueue_script('jquery-magnific-popup', get_template_directory_uri() . '/js/magnific-popup/jquery.magnific-popup' . $suffix . '.js', array('jquery'), null, true); wp_enqueue_style('magnific-popup', get_template_directory_uri() . '/js/magnific-popup/magnific-popup' . $suffix . '.css'); } // enqueueing the theme's main javascript file wp_enqueue_script('masonry-brick-main-script', get_template_directory_uri() . '/js/masonry-brick-custom' . $suffix . '.js', array('jquery'), null, true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } // loading the HTML5Shiv js for IE8 and below wp_enqueue_script('html5shiv', get_template_directory_uri() . '/js/html5shiv/html5shiv' . $suffix . '.js', false); wp_script_add_data('html5shiv', 'conditional', 'lt IE 9'); } add_action('wp_enqueue_scripts', 'masonry_brick_scripts'); /** * Enqueue scripts and styles in the customizer */ function masonry_brick_customizer_scripts() { // adding the function to load the minified version if SCRIPT_DEFUG is disable $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '' : '.min'; wp_enqueue_style('masonry-brick-customizer-layout-option-css', get_template_directory_uri() . '/css/custom-layout' . $suffix . '.css'); wp_enqueue_script('masonry-brick-customizer-layout-option', get_template_directory_uri() . '/js/custom-layout' . $suffix . '.js', false, false, true); } add_action('customize_controls_enqueue_scripts', 'masonry_brick_customizer_scripts'); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/inc/extras.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /** * Load Jetpack compatibility file. */ require get_template_directory() . '/inc/jetpack.php'; /** * Add the custom meta box for the single post/page layout option */ require get_template_directory() . '/inc/meta-boxes.php'; /** * Add the required custom widgets */ require get_template_directory() . '/inc/widgets.php';