/** * Ample functions related to defining constants, adding files and WordPress core functionality. * * @package ThemeGrill * @subpackage Ample * @since Ample 0.1 */ /** * Set the content width based on the theme's design and stylesheet. */ if ( ! isset( $content_width ) ) $content_width = 710; /* pixels */ /** * $content_width global variable adjustment as per layout option. */ function ample_content_width() { global $post; global $content_width; if( $post ) { $layout_meta = get_post_meta( $post->ID, 'ample_page_layout', true ); } if( empty( $layout_meta ) || is_archive() || is_search() ) { $layout_meta = 'default_layout'; } $ample_default_layout = ample_option( 'ample_default_layout', 'right_sidebar' ); if( $layout_meta == 'default_layout' ) { if ( $ample_default_layout == 'no_sidebar_full_width' ) { $content_width = 1100; /* pixels */ } elseif ( $ample_default_layout == 'both_sidebar' ) { $content_width = 500; /* pixels */ } else { $content_width = 710; /* pixels */ } } elseif ( $layout_meta == 'no_sidebar_full_width' ) { $content_width = 1100; /* pixels */ } elseif ( $layout_meta == 'both_sidebar' ) { $content_width = 500; /* pixels */ } else { $content_width = 710; /* pixels */ } } add_action( 'template_redirect', 'ample_content_width' ); add_action( 'after_setup_theme', 'ample_setup' ); if ( ! function_exists( 'ample_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * */ function ample_setup() { /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. */ load_theme_textdomain( 'ample', get_template_directory() . '/languages' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); // Gutenberg layout support. add_theme_support( 'align-wide' ); // Gutenberg block layout support. add_theme_support( 'wp-block-styles' ); // Gutenberg editor support. add_theme_support( 'responsive-embeds' ); //Enable support for Post Thumbnails on posts and pages. add_theme_support( 'post-thumbnails' ); // Added WooCommerce support. add_theme_support( 'woocommerce' ); add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); // Cropping the images to different sizes to be used in the theme add_image_size( 'ample-featured-blog-large', 710, 300, true ); add_image_size( 'ample-featured-blog-small', 230, 230, true ); add_image_size( 'ample-portfolio-image', 330, 330, true ); // Registering navigation menus. register_nav_menus( array( 'primary' => __( 'Primary Menu', 'ample' ), 'footer' => __( 'Footer Menu', 'ample' ), ) ); /* * 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', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'ample_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); // Adding excerpt option box for pages as well add_post_type_support( 'page', 'excerpt' ); // Adds the support for the Custom Logo introduced in WordPress 4.5 add_theme_support( 'custom-logo', array( 'flex-width' => true, 'flex-height' => true, ) ); // Support for selective refresh widgets in Customizer add_theme_support( 'customize-selective-refresh-widgets' ); } endif; // ample_setup /** * Register widget area. * */ require get_template_directory() . '/inc/widgets/widgets.php'; /** * Enqueue scripts and styles. */ require get_template_directory() . '/inc/functions.php'; /** * Functions related to header. */ require get_template_directory() . '/inc/header-functions.php'; /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Add meta Box */ require get_template_directory() . '/inc/admin/meta-boxes.php'; /** * Add Customizer */ require_once( get_template_directory() . '/inc/customizer.php' ); /** * Detect plugin. For use on Front End only. */ include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); /** * Assign the Ample version to a variable. */ $ample_theme = wp_get_theme( 'ample' ); define( 'AMPLE_THEME_VERSION', $ample_theme->get( 'Version' ) ); /** * Calling in the admin area for the Welcome Page as well as for the new theme notice too. */ if ( is_admin() ) { require get_template_directory() . '/inc/admin/class-ample-admin.php'; require get_template_directory() . '/inc/admin/class-ample-dashboard.php'; require get_template_directory() . '/inc/admin/class-ample-notice.php'; require get_template_directory() . '/inc/admin/class-ample-welcome-notice.php'; require get_template_directory() . '/inc/admin/class-ample-upgrade-notice.php'; require get_template_directory() . '/inc/admin/class-ample-theme-review-notice.php'; }