????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/home/tempvsty/eaabusiness.com/wp-content/themes/zakra/ | 
| Upload File : | 
<?php
/**
 * Zakra functions and definitions.
 *
 * @link    https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package zakra
 *
 * @since 1.0.0
 */
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
 * Define constants.
 */
require get_template_directory() . '/inc/base/class-zakra-constants.php';
/**
 * Helpers functions.
 */
require ZAKRA_PARENT_INC_DIR . '/helper/utils.php';
/**
 * Base.
 */
// Generate WordPress filter hook dynamically.
require ZAKRA_PARENT_INC_DIR . '/base/class-zakra-dynamic-filter.php';
// Adds classes to appropriate places.
require ZAKRA_PARENT_INC_DIR . '/base/class-zakra-css-classes.php';
// Generate dynamic CSS from styling options.
require ZAKRA_PARENT_INC_DIR . '/base/class-zakra-dynamic-css.php';
/**
 * Core.
 */
// After setup theme.
require ZAKRA_PARENT_INC_DIR . '/core/class-zakra-after-setup-theme.php';
// Load scripts.
require ZAKRA_PARENT_INC_DIR . '/core/class-zakra-enqueue-scripts.php';
// Widget-related functionalities.
require ZAKRA_PARENT_INC_DIR . '/core/class-zakra-widgets.php';
// Header Media.
require ZAKRA_PARENT_INC_DIR . '/core/custom-header.php';
/**
 * Update migrations.
 */
require ZAKRA_PARENT_INC_DIR . '/migration/class-zakra-migration.php';
/**
 * Customizer.
 */
require ZAKRA_PARENT_INC_DIR . '/customizer/class-zakra-customizer.php';
/**
 * Deprecated.
 */
require ZAKRA_PARENT_INC_DIR . '/deprecated/deprecated-filters.php';
require ZAKRA_PARENT_INC_DIR . '/deprecated/deprecated-functions.php';
require ZAKRA_PARENT_INC_DIR . '/deprecated/deprecated-hooks.php';
/**
 * Override global builder by page setting.
 */
require ZAKRA_PARENT_INC_DIR . '/meta-boxes/builder-meta-box.php';
/**
 * Templates.
 */
require ZAKRA_PARENT_INC_DIR . '/template-tags.php';
require ZAKRA_PARENT_INC_DIR . '/builder-template-tags.php';
require ZAKRA_PARENT_INC_DIR . '/template-functions.php';
// Template hooks.
require ZAKRA_PARENT_DIR . '/template-parts/hooks/hook-functions.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/header.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/top-bar.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/header-main.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/primary-menu.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/header-actions.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/header-buttons.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/transparent-header.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/header/header-media.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/page-header/page-header.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/content/content.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/blog/blog.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/footer/footer.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/footer/scroll-to-top.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/footer/footer-widgets.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/footer/footer-bar.php';
require ZAKRA_PARENT_INC_DIR . '/hooks/hooks.php';
require ZAKRA_PARENT_INC_DIR . '/hooks/content.php';
require ZAKRA_PARENT_INC_DIR . '/hooks/customize.php';
require ZAKRA_PARENT_DIR . '/template-parts/hooks/builder.php';
/**
 * Plugins compatibility.
 */
// AMP.
if ( defined( 'AMP__VERSION' ) && ( ! version_compare( AMP__VERSION, '1.0.0', '<' ) ) ) {
	require_once ZAKRA_PARENT_INC_DIR . '/compatibility/amp/class-zakra-amp.php';
}
// Wishlist.
if ( class_exists( 'woocommerce' ) && defined( 'YITH_WCWL' ) ) {
		require ZAKRA_PARENT_INC_DIR . '/compatibility/yith/yith-wishlist.php';
}
// QuickView.
if ( class_exists( 'woocommerce' ) && defined( 'YITH_WCQV' ) ) {
	require ZAKRA_PARENT_INC_DIR . '/compatibility/yith/yith-quickview.php';
}
if ( defined( 'JETPACK__VERSION' ) ) {
	require ZAKRA_PARENT_INC_DIR . '/compatibility/jetpack/class-zakra-jetpack.php';
}
// WooCommerce.
if ( class_exists( 'WooCommerce' ) ) {
	require ZAKRA_PARENT_INC_DIR . '/compatibility/woocommerce/class-zakra-woocommerce.php';
}
// Elementor Pro.
require_once ZAKRA_PARENT_INC_DIR . '/compatibility/elementor/class-zakra-elementor-pro.php';
// Elementor Header Footer.
require_once ZAKRA_PARENT_INC_DIR . '/compatibility/elementor-header-footer/class-zakra-elementor-header-footer.php';
// Breadcrumbs class.
require_once ZAKRA_PARENT_INC_DIR . '/class-breadcrumb-trail.php';
// Svg icon class.
require_once ZAKRA_PARENT_INC_DIR . '/class-zakra-svg-icons.php';
// Load customind.
require_once ZAKRA_PARENT_INC_DIR . '/customizer/customind/init.php';
/**
 * @var \Customind\Core\Customind
 */
global $customind;
$customind->set_css_var_prefix( 'zakra' );
$customind->set_i18n_data(
	[
		'domain' => 'zakra',
	]
);
$customind->set_section_i18n(
	[
		/* Translators: 1: Panel Title. */
		'customizing-action' => __( 'Customizing ▸ %s', 'zakra' ),
		'customizing'        => __( 'Customizing', 'zakra' ),
	]
);
require ZAKRA_PARENT_INC_DIR . '/meta-boxes/class-zakra-meta-box.php';
// Admin screen.
require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-changelog-controller.php';
require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-admin.php';
if ( is_admin() ) {
	// Meta boxes.
	require ZAKRA_PARENT_INC_DIR . '/meta-boxes/class-zakra-meta-box-page-settings.php';
	// Theme options page.
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-notice.php';
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-welcome-notice.php';
//	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-upgrade-notice.php';
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-dashboard.php';
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-theme-review-notice.php';
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-demo-import-migration-notice.php';
	require ZAKRA_PARENT_INC_DIR . '/admin/class-zakra-pro-minimum-version-notice.php';
}
// Set default content width.
if ( ! isset( $content_width ) ) {
	$content_width = 812;
}
// Calculate $content_width value according to layout options from Customizer and meta boxes.
function zakra_content_width_rdr() {
	global $content_width;
	// Get layout type.
	$layout_type     = zakra_get_layout_type();
	$layouts_sidebar = [ 'left', 'right' ];
	/**
	 * Calculate content width.
	 */
	// Get required values from Customizer.
	$container_width = get_theme_mod(
		'zakra_container_width',
		[
			'size' => 1170,
			'unit' => 'px',
		]
	);
	$sidebar_width   = get_theme_mod(
		'zakra_sidebar_width',
		[
			'size' => 30,
			'unit' => '%',
		]
	);
	$container_width = isset( $container_width['size'] ) ? (int) $container_width['size'] : 1160;
	$content_width   = isset( $sidebar_width['size'] ) ? ( 100 - (float) $sidebar_width['size'] ) : 70;
	// Calculate Padding to reduce.
	$container_style = get_theme_mod( 'zakra_content_area_layout', 'bordered' );
	$content_padding = ( 'boxed' === $container_style ) ? 120 : 60;
	if ( in_array( $layout_type, $layouts_sidebar, true ) ) {
		$content_width = ( ( $container_width * $content_width ) / 100 ) - $content_padding;
	} else {
		$content_width = $container_width - $content_padding;
	}
}
add_action( 'template_redirect', 'zakra_content_width_rdr' );
function zakra_is_plugin_installed( $plugin_path ) {
	$plugins = get_plugins();
	return isset( $plugins[ $plugin_path ] );
}
function zakra_maybe_enable_builder() {
	if ( get_option( 'zakra_builder_migration' ) ) {
		return true;
	}
	if ( get_option( 'zakra_stretched_style_transfer' ) || get_option( 'zakra_migrations' ) || get_option( 'zakra_customizer_migration_v3' ) ) {
		return false;
	}
	return true;
}
function zakra_demo_importer_route_url() {
	return ( zakra_is_zakra_pro_active() && zakra_plugin_version_compare( 'zakra-pro/zakra-pro.php', '3.1.0', '>=' ) )
		? 'admin.php?page=zakra-starter-templates'
		: 'themes.php?page=zakra-starter-templates';
}
add_filter( 'themegrill_demo_importer_routes', 'zakra_demo_importer_routes', 10, 1 );
function zakra_demo_importer_routes( $routes ) {
	$base_url = zakra_demo_importer_route_url();
	// Remove the existing routes from the TDI
	$routes_to_remove = [
		'themes.php?page=zakra-starter-templates&demo=:slug',
		'themes.php?page=zakra-starter-templates&browse=:sort',
		'themes.php?page=zakra-starter-templates&search=:query',
		'themes.php?page=zakra-starter-templates',
	];
	foreach ( $routes_to_remove as $route ) {
		unset( $routes[ $route ] );
	}
	// Add the new routes
	$new_routes = [
		"$base_url&demo=:slug"    => 'preview',
		"$base_url&browse=:sort"  => 'sort',
		"$base_url&search=:query" => 'search',
		$base_url                 => 'sort',
	];
	$routes     = array_merge( $routes, $new_routes );
	return $routes;
}
add_filter( 'themegrill_demo_importer_baseURL', 'zakra_demo_importer_baseURL', 10, 1 );
function zakra_demo_importer_baseURL( $base_url ) {
	return zakra_demo_importer_route_url();
}
add_filter( 'themegrill_demo_importer_redirect_link', 'zakra_demo_importer_redirect_url' );
function zakra_demo_importer_redirect_url( $redirect_url ) {
	return admin_url( zakra_demo_importer_route_url() . '&browse=all' );
}