function display_product_name_from_url() {
// Get the product_name parameter from the URL
$product_name = isset($_GET['product_name']) ? sanitize_text_field($_GET['product_name']) : '';
//return esc_html($product_name);
return '
'.$product_name.'
';
}
add_shortcode('product_name', 'display_product_name_from_url');
/**
* Theme functions and definitions.
*
* Sets up the theme and provides some helper functions
*
* When using a child theme (see https://codex.wordpress.org/Theme_Development
* and https://codex.wordpress.org/Child_Themes), you can override certain
* functions (those wrapped in a function_exists() call) by defining them first
* in your child theme's functions.php file. The child theme's functions.php
* file is included before the parent theme's file, so the child theme
* functions would be used.
*
*
* For more information on hooks, actions, and filters,
* see https://codex.wordpress.org/Plugin_API
*
* @package Enzian WordPress theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if(!defined('ENZIAN_THEME_VERSION')){
define('ENZIAN_THEME_VERSION', '1.0.6');
}
if(!class_exists('Enzian_Theme_Class')){
final class Enzian_Theme_Class {
public static $template_dir_path = '';
public static $template_dir_url = '';
/**
* @var Enzian_Ajax_Manager $ajax_manager;
*/
public $ajax_manager;
protected $extra_style = '';
/**
* Main Theme Class Constructor
*
* @since 1.0.0
*/
public function __construct() {
self::$template_dir_path = get_template_directory();
self::$template_dir_url = get_template_directory_uri();
// Define constants
add_action( 'after_setup_theme', array( $this, 'constants' ), 0 );
// Load all core theme function files
add_action( 'after_setup_theme', array( $this, 'include_functions' ), 1 );
// Load configuration classes
add_action( 'after_setup_theme', array( $this, 'configs' ), 3 );
// Load framework classes
add_action( 'after_setup_theme', array( $this, 'classes' ), 4 );
// Setup theme => add_theme_support: register_nav_menus, load_theme_textdomain, etc
add_action( 'after_setup_theme', array( $this, 'theme_setup' ) );
add_action( 'after_setup_theme', array( $this, 'theme_setup_default' ) );
// register sidebar widget areas
add_action( 'widgets_init', array( $this, 'register_sidebars' ) );
/** Admin only actions **/
if( is_admin() ) {
// Load scripts in the WP admin
add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'admin_scripts' ) );
}
/** Non Admin actions **/
else{
// Load theme CSS
add_action( 'wp_enqueue_scripts', array( $this, 'theme_css' ) );
// Load theme js
add_action( 'wp_enqueue_scripts', array( $this, 'theme_js' ), 99 );
// Add a pingback url auto-discovery header for singularly identifiable articles
add_action( 'wp_head', array( $this, 'pingback_header' ), 1 );
// Add meta viewport tag to header
add_action( 'wp_head', array( $this, 'meta_viewport' ), 1 );
// Add meta apple web app capable tag to header
add_action( 'wp_head', array( $this, 'apple_mobile_web_app_capable_header' ), 1 );
// Add an X-UA-Compatible header
add_filter( 'wp_headers', array( $this, 'x_ua_compatible_headers' ) );
// Add support for Elementor Pro locations
add_action( 'elementor/theme/register_locations', array( $this, 'register_elementor_locations' ) );
}
add_action( 'elementor/init', array( $this, 'register_breakpoint' ) );
require_once get_theme_file_path('/framework/classes/ajax-manager.php');
$this->ajax_manager = new Enzian_Ajax_Manager();
}
/**
* Define Constants
*
* @since 1.0.0
*/
public function constants() {}
/**
* Load all core theme function files
*
* @since 1.0.0
*/
public function include_functions() {
require_once get_theme_file_path('/framework/functions/helpers.php');
require_once get_theme_file_path('/framework/functions/theme-hooks.php');
require_once get_theme_file_path('/framework/functions/theme-functions.php');
require_once get_theme_file_path('/framework/third/lastudio-kit.php');
}
/**
* Configs for 3rd party plugins.
*
* @since 1.0.0
*/
public function configs() {
// WooCommerce
if(function_exists('WC')){
require_once get_theme_file_path('/framework/woocommerce/woocommerce-config.php');
}
}
/**
* Load theme classes
*
* @since 1.0.0
*/
public function classes() {
// Admin only classes
if ( is_admin() ) {
// Recommend plugins
require_once get_theme_file_path('/tgm/class-tgm-plugin-activation.php');
require_once get_theme_file_path('/tgm/tgm-plugin-activation.php');
}
require_once get_theme_file_path('/framework/classes/class-admin.php');
// Breadcrumbs class
require_once get_theme_file_path('/framework/classes/breadcrumbs.php');
new Enzian_Admin();
}
/**
* Theme Setup
*
* @since 1.0.0
*/
public function theme_setup() {
$ext = apply_filters('enzian/use_minify_css_file', false) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min';
// Load text domain
load_theme_textdomain( 'enzian', self::$template_dir_path .'/languages' );
// Get globals
global $content_width;
// Set content width based on theme's default design
if ( ! isset( $content_width ) ) {
$content_width = 1200;
}
// Register navigation menus
register_nav_menus( array(
'main-nav' => esc_attr_x( 'Main Navigation', 'admin-view', 'enzian' )
) );
// Enable support for Post Formats
add_theme_support( 'post-formats', array( 'video', 'gallery', 'audio', 'quote', 'link' ) );
// Enable support for tag
add_theme_support( 'title-tag' );
// Add default posts and comments RSS feed links to head
add_theme_support( 'automatic-feed-links' );
// Enable support for Post Thumbnails on posts and pages
add_theme_support( 'post-thumbnails' );
/**
* Enable support for header image
*/
add_theme_support( 'custom-header', apply_filters( 'enzian/filter/custom_header_args', array(
'width' => 2000,
'height' => 1200,
'flex-height' => true,
'video' => true,
) ) );
add_theme_support( 'custom-background' );
// Declare WooCommerce support.
add_theme_support( 'woocommerce' );
if( enzian_string_to_bool( enzian_get_theme_mod('woocommerce_gallery_zoom') ) ){
add_theme_support( 'wc-product-gallery-zoom');
}
if( enzian_string_to_bool( enzian_get_theme_mod('woocommerce_gallery_lightbox') ) ){
add_theme_support( 'wc-product-gallery-lightbox');
}
add_theme_support( 'wc-product-gallery-slider');
// Support WP Job Manager
add_theme_support( 'job-manager-templates' );
// Add editor style
add_editor_style( 'assets/css/editor-style.css' );
// Adding Gutenberg support
add_theme_support( 'align-wide' );
add_theme_support( 'wp-block-styles' );
add_theme_support( 'responsive-embeds' );
add_theme_support( 'editor-styles' );
add_editor_style( 'assets/css/gutenberg-editor.css' );
add_theme_support( 'editor-color-palette', array(
array(
'name' => esc_attr_x( 'pale pink', 'admin-view', 'enzian' ),
'slug' => 'pale-pink',
'color' => '#f78da7',
),
array(
'name' => esc_attr_x( 'theme primary', 'admin-view', 'enzian' ),
'slug' => 'enzian-theme-primary',
'color' => '#BC8157',
),
array(
'name' => esc_attr_x( 'theme secondary', 'admin-view', 'enzian' ),
'slug' => 'enzian-theme-secondary',
'color' => '#212121',
),
array(
'name' => esc_attr_x( 'strong magenta', 'admin-view', 'enzian' ),
'slug' => 'strong-magenta',
'color' => '#a156b4',
),
array(
'name' => esc_attr_x( 'light grayish magenta', 'admin-view', 'enzian' ),
'slug' => 'light-grayish-magenta',
'color' => '#d0a5db',
),
array(
'name' => esc_attr_x( 'very light gray', 'admin-view', 'enzian' ),
'slug' => 'very-light-gray',
'color' => '#eee',
),
array(
'name' => esc_attr_x( 'very dark gray', 'admin-view', 'enzian' ),
'slug' => 'very-dark-gray',
'color' => '#444',
),
) );
remove_theme_support( 'widgets-block-editor' );
add_theme_support('lastudio', [
'swatches' => true,
'revslider' => true,
'header-builder' => [
'menu' => true,
'header-vertical' => true
],
'lastudio-kit' => true,
'elementor' => [
'advanced-carousel' => false,
'ajax-templates' => false,
'css-transform' => false,
'floating-effects' => false,
'wrapper-links' => false,
'lastudio-icon' => true,
'custom-fonts' => true,
'mega-menu' => true,
],
]);
}
/**
* Theme Setup Default
*
* @since 1.0.0
*/
public function theme_setup_default(){
$check_theme = get_option('enzian_has_init', false);
if(!$check_theme || !get_option('lastudio-kit-settings')){
update_option('enzian_has_init', true);
update_option( 'elementor_cpt_support', array( 'page', 'post', 'la_portfolio') );
update_option(
'lastudio-kit-settings',
[
'svg-uploads' => 'enabled',
'lastudio_kit_templates' => 'enabled',
'single_post_template' => 'templates/fullwidth.php',
'single_page_template' => 'templates/fullwidth.php',
]
);
$customizes = [
'body_font_family' => 'Nunito Sans, sans-serif',
'heading_font_family' => 'Cormorant, serif',
'heading_font_weight' => 700,
];
foreach ($customizes as $k => $v){
set_theme_mod($k, $v);
}
}
}
/**
* Adds the meta tag to the site header
*
* @since 1.0.0
*/
public function pingback_header() {
if ( is_singular() && pings_open() ) {
printf( '' . "\n", esc_url( get_bloginfo( 'pingback_url' ) ) );
}
}
/**
* Adds the meta tag to the site header
*
* @since 1.0.0
*/
public function apple_mobile_web_app_capable_header() {
printf( '' );
}
/**
* Adds the meta tag to the site header
*
* @since 1.0.0
*/
public function meta_viewport() {
// Meta viewport
$viewport = '';
// Apply filters for child theme tweaking
echo apply_filters( 'enzian_meta_viewport', $viewport );
}
/**
* Load scripts in the WP admin
*
* @since 1.0.0
*/
public function admin_scripts() {
// Load font icon style
wp_enqueue_style( 'enzian-font-lastudioicon', get_theme_file_uri( '/assets/css/lastudioicon.min.css' ), false, '1.0.0' );
wp_enqueue_style( 'enzian-fonts', $this->enqueue_google_fonts_url() , array(), null );
}
/**
* Load front-end scripts
*
* @since 1.0.0
*/
public function theme_css() {
$theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : ENZIAN_THEME_VERSION;
$ext = apply_filters('enzian/use_minify_css_file', false) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min';
// Load font icon style
wp_enqueue_style( 'enzian-font-lastudioicon', get_theme_file_uri ('/assets/css/lastudioicon'.$ext.'.css' ), false, $theme_version );
if(!function_exists('lastudio_kit')) {
wp_enqueue_style( 'enzian-fonts', $this->enqueue_google_fonts_url() , array(), null );
}
wp_enqueue_style( 'enzian-theme', get_parent_theme_file_uri('/style'.$ext.'.css'), false, $theme_version );
$this->render_extra_style();
$additional_inline_stype = $this->extra_style;
$inline_handler_name = 'enzian-theme';
if(function_exists('WC')){
wp_enqueue_style( 'enzian-woocommerce', get_theme_file_uri( '/assets/css/woocommerce'.$ext.'.css' ), false, $theme_version );
$inline_handler_name = 'enzian-woocommerce';
}
wp_add_inline_style($inline_handler_name, $additional_inline_stype);
}
/**
* Returns all js needed for the front-end
*
* @since 1.0.0
*/
public function theme_js() {
$theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : ENZIAN_THEME_VERSION;
$ext = !apply_filters('enzian/use_minify_js_file', true) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min';
// Get localized array
$localize_array = $this->localize_array();
wp_register_script( 'pace', get_theme_file_uri('/assets/js/lib/pace'.$ext.'.js'), null, $theme_version, true);
wp_register_script( 'js-cookie', get_theme_file_uri('/assets/js/lib/js.cookie'.$ext.'.js'), array('jquery'), $theme_version, true);
wp_register_script( 'jquery-featherlight', get_theme_file_uri('/assets/js/lib/featherlight'.$ext.'.js') , array('jquery'), $theme_version, true);
$dependencies = array( 'jquery', 'js-cookie', 'jquery-featherlight');
if( enzian_string_to_bool( enzian_get_theme_mod('page_preloader') ) ){
$dependencies[] = 'pace';
}
if(function_exists('WC')){
$dependencies[] = 'enzian-woocommerce';
}
$dependencies = apply_filters('enzian/filter/js_dependencies', $dependencies);
wp_enqueue_script('enzian-theme', get_theme_file_uri( '/assets/js/app'.$ext.'.js' ), $dependencies, $theme_version, true);
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
if(apply_filters('enzian/filter/force_enqueue_js_external', true)){
wp_localize_script('enzian-theme', 'la_theme_config', $localize_array );
}
if(function_exists('la_get_polyfill_inline')){
$polyfill_data = apply_filters('enzian/filter/js_polyfill_data', [
'enzian-polyfill-object-assign' => [
'condition' => '\'function\'==typeof Object.assign',
'src' => get_theme_file_uri( '/assets/js/lib/polyfill-object-assign'.$ext.'.js' ),
'version' => $theme_version,
],
'enzian-polyfill-css-vars' => [
'condition' => 'window.CSS && window.CSS.supports && window.CSS.supports(\'(--foo: red)\')',
'src' => get_theme_file_uri( '/assets/js/lib/polyfill-css-vars'.$ext.'.js' ),
'version' => $theme_version,
],
'enzian-polyfill-promise' => [
'condition' => '\'Promise\' in window',
'src' => get_theme_file_uri( '/assets/js/lib/polyfill-promise'.$ext.'.js' ),
'version' => $theme_version,
],
'enzian-polyfill-fetch' => [
'condition' => '\'fetch\' in window',
'src' => get_theme_file_uri( '/assets/js/lib/polyfill-fetch'.$ext.'.js' ),
'version' => $theme_version,
],
'enzian-polyfill-object-fit' => [
'condition' => '\'objectFit\' in document.documentElement.style',
'src' => get_theme_file_uri( '/assets/js/lib/polyfill-object-fit'.$ext.'.js' ),
'version' => $theme_version,
]
]);
$polyfill_inline = la_get_polyfill_inline($polyfill_data);
if(!empty($polyfill_inline)){
wp_add_inline_script('enzian-theme', $polyfill_inline, 'before');
}
}
}
/**
* Functions.js localize array
*
* @since 1.0.0
*/
public function localize_array() {
$template_cache = enzian_string_to_bool(enzian_get_option('template_cache'));
$array = array(
'security' => array(
'favorite_posts' => wp_create_nonce('favorite_posts'),
'wishlist_nonce' => wp_create_nonce('wishlist_nonce'),
'compare_nonce' => wp_create_nonce('compare_nonce')
),
'single_ajax_add_cart' => enzian_string_to_bool( enzian_get_theme_mod('single_ajax_add_cart') ),
'i18n' => array(
'backtext' => esc_attr_x('Back', 'front-view', 'enzian'),
'compare' => array(
'view' => esc_attr_x('View List Compare', 'front-view', 'enzian'),
'success' => esc_attr_x('has been added to comparison list.', 'front-view', 'enzian'),
'error' => esc_attr_x('An error occurred ,Please try again !', 'front-view', 'enzian')
),
'wishlist' => array(
'view' => esc_attr_x('View List Wishlist', 'front-view', 'enzian'),
'success' => esc_attr_x('has been added to your wishlist.', 'front-view', 'enzian'),
'error' => esc_attr_x('An error occurred, Please try again !', 'front-view', 'enzian')
),
'addcart' => array(
'view' => esc_attr_x('View Cart', 'front-view', 'enzian'),
'success' => esc_attr_x('has been added to your cart', 'front-view', 'enzian'),
'error' => esc_attr_x('An error occurred, Please try again !', 'front-view', 'enzian')
),
'global' => array(
'error' => esc_attr_x('An error occurred ,Please try again !', 'front-view', 'enzian'),
'search_not_found' => esc_attr_x('It seems we can’t find what you’re looking for, please try again !', 'front-view', 'enzian'),
'comment_author' => esc_attr_x('Please enter Name !', 'front-view', 'enzian'),
'comment_email' => esc_attr_x('Please enter Email Address !', 'front-view', 'enzian'),
'comment_rating' => esc_attr_x('Please select a rating !', 'front-view', 'enzian'),
'comment_content' => esc_attr_x('Please enter Comment !', 'front-view', 'enzian'),
'continue_shopping' => esc_attr_x('Continue Shopping', 'front-view', 'enzian'),
'cookie_disabled' => esc_attr_x('We are sorry, but this feature is available only if cookies are enabled on your browser', 'front-view', 'enzian'),
'more_menu' => esc_attr_x('Show More +', 'front-view', 'enzian'),
'less_menu' => esc_attr_x('Show Less', 'front-view', 'enzian'),
'search_view_more' => esc_attr_x('View More', 'front-view', 'enzian'),
)
),
'popup' => array(
'max_width' => esc_attr(enzian_get_option('popup_max_width', 790)),
'max_height' => esc_attr(enzian_get_option('popup_max_height', 430))
),
'js_path' => esc_attr(apply_filters('enzian/filter/js_path', self::$template_dir_url . '/assets/js/lib/')),
'js_min' => apply_filters('enzian/use_minify_js_file', true),
'theme_path' => esc_attr(apply_filters('enzian/filter/theme_path', self::$template_dir_url . '/')),
'ajax_url' => esc_attr(admin_url('admin-ajax.php')),
'la_extension_available' => get_option('la_extension_available', array(
'swatches' => false,
'360' => false,
'content_type' => false
)),
'has_wc' => function_exists('WC' ) ? true : false,
'cache_ttl' => apply_filters('enzian/cache_time_to_life', !$template_cache ? 30 : (60 * 5)),
'local_ttl' => apply_filters('enzian/local_cache_time_to_life', !$template_cache ? 30 : (60 * 60 * 24)),
'home_url' => esc_url(home_url('/')),
'current_url' => esc_url( add_query_arg(null,null) ),
'disable_cache' => $template_cache ? false : true,
'is_dev' => defined('WP_DEBUG') && WP_DEBUG ? true : false,
'shop_url' => function_exists('wc_get_page_id') ? get_permalink( wc_get_page_id( 'shop' ) ) : home_url('/'),
'ajaxGlobal' => [
'nonce' => $this->ajax_manager->create_nonce(),
'action' => 'lastudio_theme_ajax',
'useFront' => 'true',
]
);
if(function_exists('la_get_wc_script_data') && function_exists('WC')){
$variation_data = la_get_wc_script_data('wc-add-to-cart-variation');
if(!empty($variation_data)){
$array['i18n']['variation'] = $variation_data;
}
$array['wc_variation'] = [
'base' => esc_url(WC()->plugin_url()) . '/assets/js/frontend/add-to-cart-variation.min.js',
'wp_util' => esc_url(includes_url('js/wp-util.min.js')),
'underscore' => esc_url(includes_url('js/underscore.min.js'))
];
}
// Apply filters and return array
return apply_filters( 'enzian/filter/localize_array', $array );
}
/**
* Add headers for IE to override IE's Compatibility View Settings
*
* @since 1.0.0
*/
public function x_ua_compatible_headers( $headers ) {
$headers['X-UA-Compatible'] = 'IE=edge';
return $headers;
}
/**
* Add support for Elementor Pro locations
*
* @since 1.0.0
*/
public function register_elementor_locations( $elementor_theme_manager ) {
$elementor_theme_manager->register_all_core_location();
}
/**
* Registers sidebars
*
* @since 1.0.0
*/
public function register_sidebars() {
$heading = 'div';
$heading = apply_filters( 'enzian/filter/sidebar_heading', $heading );
// Default Sidebar
register_sidebar( array(
'name' => esc_html__( 'Default Sidebar', 'enzian' ),
'id' => 'sidebar',
'description' => esc_html__( 'Widgets in this area will be displayed in the left or right sidebar area if you choose the Left or Right Sidebar layout.', 'enzian' ),
'before_widget' => '
Our mission is to develop the world’s most advanced formulas by using the most cutting-edge methods available in the sciences.
WHAT DOES THE
BOND SYSTEM DO?
The Uberliss Bond System increases hair elasticity, moisture of hair and scalp, reduces combing damage, decreases porosity, provides protection against hair fatigue during repeated brushing, balances hair and scalp pH, and balances the loss of moisture (TEWL) from the scalp (keeping the scalp stratum corneum healthy).
THE SCIENCE OF HAIRCARE
Hair elasticity increases to 121% when the full bond system is added to standard lighteners.
Supercharges lighteners already containing ‘plex’ technology, increasing hair fibre elasticity from 95% to 117%.
Hair elasticity increases from 93% to 123% when added to permanent colour.
WHAT ELSE IS DIFFERENT
ABOUT THE UBERLISS BOND SYSTEM VS 'BENCHMARK' BRANDS?
The active molecule Glycidoxy Dimethicone reacts with the side chains of the hair polypeptides (unlike other bonding systems) during hair lightening and permanent colouring, making crosslinks
The Uberliss Bond Shampoo and Uberliss Bond Amplifier contain organic acids and their salts to bring the pH of the hair and scalp back to normal
Uberliss Bond System
contains moisturizing
ingredients to balance
the lost moisture
contents of the hair
during bleaching and
permanent colouring
Uberliss Bond Shampoo and Uberliss Bond Amplifier contain nano-lipids that are able to strengthen hair additionally, after bleaching and permanent colouring treatments and as maintenance products
Uberliss System is
a nano-emulsion of
active molecule
Glycidoxy
Dimethicone
(‘benchmark’
brand is an acid base
and water-soluble
material)
Sub-micron patented technology
Uberliss Bond System balances the pH of the hair & Scalp
Uberliss Bond System maintains the transepidermal water loss (TEWL) of the scalp.
Uberliss Bond System
replenishes the moisture
of the scalp
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.