/**
* Tesseract Theme Customizer
*
* @package Tesseract
*/
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
function tesseract_customize_register( $wp_customize ) {
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
$wp_customize->add_panel( 'tesseract_general_options', array(
'priority' => 3,
'capability' => 'edit_theme_options',
'title' => 'General',
//'description' => ''
) );
$wp_customize->add_panel( 'tesseract_header_options', array(
'priority' => 4,
'capability' => 'edit_theme_options',
'title' => 'Header Options',
//'description' => ''
) );
if( !is_plugin_active('tesseract-header-footer-builder-plugin/tesseract-header-footer-builder-plugin.php')){
$wp_customize->add_panel( 'tesseract_footer_options', array(
'priority' => 5,
'capability' => 'edit_theme_options',
'title' => 'Footer Options',
//'description' => ''
) );
}
$wp_customize->add_panel( 'tesseract_layout', array(
'priority' => 7,
'capability' => 'edit_theme_options',
'title' => 'Layout Options'
) );
$wp_customize->add_panel( 'tesseract_social', array(
'priority' => 8,
'capability' => 'edit_theme_options',
'title' => 'Social'
) );
$wp_customize->get_section('title_tagline')->panel = 'tesseract_header_options';
$wp_customize->get_section('title_tagline')->priority = 3;
if ( $wp_customize->get_section('static_front_page') ) {
$wp_customize->get_section('static_front_page')->panel = 'tesseract_general_options';
$wp_customize->get_section('static_front_page')->priority = 4;
}
$wp_customize->get_section('background_image')->panel = 'tesseract_general_options';
$wp_customize->get_section('background_image')->priority = 2;
$wp_customize->get_section('colors')->panel = 'tesseract_general_options';
$wp_customize->get_section('colors')->title = __( 'Background Color', 'tesseract' );
$wp_customize->get_section('colors')->priority = 1;
$wp_customize->get_control('background_color')->label = __( 'Choose a background color', 'tesseract' );
$wp_customize->get_control('background_color')->description = __( '(This is only for the site\'s generic background color. You can define header and footer background colors in the Header Options and Footer Options respectively.)', 'tesseract' );
$wp_customize->remove_section('header_image');
$wp_customize->remove_section('nav');
$wp_customize->remove_control('header_textcolor');
require get_template_directory() . '/inc/sections/header-colors.php';
require get_template_directory() . '/inc/sections/header-logo.php';
if( is_plugin_active('tesseract-pro-plugin/fl-builder.php') || is_plugin_active('tesseract-header-footer-builder-plugin/tesseract-header-footer-builder-plugin.php') ){
require get_template_directory() . '/inc/sections/header-layout.php';
}
require get_template_directory() . '/inc/sections/header-size.php';
require get_template_directory() . '/inc/sections/header-menu.php';
if( !is_plugin_active('tesseract-header-footer-builder-plugin/tesseract-header-footer-builder-plugin.php') ){
require get_template_directory() . '/inc/sections/header-content.php';
}
require get_template_directory() . '/inc/sections/mobile-menu.php';
require get_template_directory() . '/inc/sections/social-accounts.php';
require get_template_directory() . '/inc/sections/blog.php';
//require get_template_directory() . '/inc/sections/bloglist.php';
require get_template_directory() . '/inc/sections/search-results.php';
if( !is_plugin_active('tesseract-content-builder-plugin/tesseract-content-builder-plugin.php')){
require get_template_directory() . '/inc/sections/footer-colors.php';
require get_template_directory() . '/inc/sections/footer-size.php';
require get_template_directory() . '/inc/sections/footer-logo.php';
require get_template_directory() . '/inc/sections/footer-content.php';
}
require get_template_directory() . '/inc/sections/woocommerce.php';
//if ( $wp_customize->is_preview() && ! is_admin() )
//add_action( 'wp_footer', 'tesseract_customize_preview', 21);
}
add_action( 'customize_register', 'tesseract_customize_register', 10 );
/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function tesseract_customize_preview_js() {
wp_register_script( 'tesseract_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '1.0.0', true );
// Let's get a lighter version of the user-definedsearch iput color applied in the mobile menu - tricky
// See @ http://stackoverflow.com/questions/11091695/how-to-find-the-hex-code-for-a-lighter-or-darker-version-of-a-hex-code-in-php
$watermarkColor = get_theme_mod('tesseract_mobmenu_search_color');
$col = Array(
hexdec(substr($watermarkColor,1,2)),
hexdec(substr($watermarkColor,3,2)),
hexdec(substr($watermarkColor,5,2))
);
$lighter = Array(
255-(255-$col[0])*0.8,
255-(255-$col[1])*0.8,
255-(255-$col[2])*0.8
);
$lighter = "#".sprintf("%02X%02X%02X", $lighter[0], $lighter[1], $lighter[2]);
// Localize script
wp_localize_script( 'tesseract_customizer', 'tesseract_vars', array(
'mobmenu_link_hover_background_color_custom' => get_theme_mod('tesseract_mobmenu_link_hover_background_color_custom'),
'mobmenu_shadow_color_custom' => get_theme_mod('tesseract_mobmenu_shadow_color_custom'),
'mobmenu_search_color' => get_theme_mod('tesseract_mobmenu_search_color'),
'mobmenu_buttons_background_color_custom' => get_theme_mod('tesseract_mobmenu_buttons_background_color_custom'),
'mobmenu_search_color_lighter' => $lighter,
) );
wp_enqueue_script( 'tesseract_customizer' );
}
function tesseract_customize_controls_script() {
wp_enqueue_script( 'tesseract_customize_controls_script', get_template_directory_uri() . '/js/customize-controls.js', array( 'jquery' ) );
}
function tesseract_customize_controls_style() {
wp_enqueue_style( 'tesseract_customize_controls_style', get_template_directory_uri() . '/css/customize-controls.css' );
}
add_action( 'customize_preview_init', 'tesseract_customize_preview_js' );
add_action( 'customize_controls_print_footer_scripts', 'tesseract_customize_controls_script' );
add_action( 'customize_controls_print_styles', 'tesseract_customize_controls_style' );
/**
* The opacity control should only appear on the homepage
*/
function tesseract_show_header_opacity_control() {
return is_front_page();
}
function tesseract_show_footer_opacity_control() {
return is_front_page();
}