init();
return self::$instance;
}
/**
* Initialize the theme
*
* @since 1.0.0
*/
public function init()
{
$this->define_constants();
$this->init_hooks();
$this->includes();
$this->include_hooks();
}
public function define_constants()
{
}
public function init_hooks()
{
add_action('after_setup_theme', array($this, 'setup'));
add_action('after_setup_theme', array($this, 'content_width'), 0);
}
public function includes()
{
require AGENCY_ECOMMERCE_THEME_DIR . '/core/class-agency-ecommerce-assets.php';
// Customizer additions.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/customizer/customizer.php';
// Load core functions.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/customizer/core.php';
// Load helper functions.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/helper/helper-main.php';
// Custom template tags for this theme.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/template-tags.php';
// Custom functions that act independently of the theme templates.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/template-functions.php';
// Load widgets.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/class-agency-ecommerce-widgets.php';
// Load hooks.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/class-agency-ecommerce-hooks.php';
// Load dynamic css.
require_once AGENCY_ECOMMERCE_THEME_DIR . '/core/dynamic.php';
}
function setup()
{
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on Agency Ecommerce, use a find and replace
* to change 'agency-ecommerce' to the name of your theme in all the template files.
*/
load_theme_textdomain('agency-ecommerce', 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');
/*
* Enable support for custom logo.
*/
add_theme_support('custom-logo');
/*
* 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('agency-ecommerce-common', 370, 260, true);
// Register navigation menu locations.
register_nav_menus(array(
'top-header-menu' => esc_html__('Top Header Menu', 'agency-ecommerce'),
'primary-menu' => esc_html__('Primary Menu', 'agency-ecommerce'),
'special-menu' => esc_html__('Special Menu( Display Beside Primary Menu)', 'agency-ecommerce'),
));
/*
* 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('agency_ecommerce_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
)));
// Add woocommerce support, gallery zoom, lightbox and thumbnail slider.
add_theme_support('woocommerce');
add_theme_support('wc-product-gallery-lightbox');
add_theme_support('wc-product-gallery-slider');
$gallery_zoom = agency_ecommerce_get_option('enable_gallery_zoom');
if (1 == $gallery_zoom) {
add_theme_support('wc-product-gallery-zoom');
}
/* Turn on wide images */
add_theme_support('align-wide');
}
function content_width()
{
// This variable is intended to be overruled from themes.
// Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}.
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
$GLOBALS['content_width'] = apply_filters('agency_ecommerce_content_width', 810);
}
public function include_hooks()
{
}
}
endif;