File: /home/roshanchandy/public_html/petiva/wp-content/themes/petiva/inc/kirki-customizer.php
<?php
/**
* petiva customizer
*
* @package petiva
*/
use Kirki\Compatibility\Kirki;
// Exit if accessed directly
if (!defined('ABSPATH')) {
exit;
}
/**
* Added Panels & Sections
*/
function petiva_customizer_panels_sections($wp_customize)
{
//Add panel
$wp_customize->add_panel('petiva_customizer', [
'priority' => 10,
'title' => esc_html__('Theme Customizer', 'petiva'),
]);
/**
* Customizer Section
*/
$wp_customize->add_section('header_top_setting', [
'title' => esc_html__('Header Info Setting', 'petiva'),
'description' => '',
'priority' => 10,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('header_top_setting_color', [
'title' => esc_html__('Header Menu Color', 'petiva'),
'description' => '',
'priority' => 10,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('section_header_logo', [
'title' => esc_html__('Header Setting', 'petiva'),
'description' => '',
'priority' => 12,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('blog_setting', [
'title' => esc_html__('Blog Setting', 'petiva'),
'description' => '',
'priority' => 13,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('header_side_setting', [
'title' => esc_html__('Side Info', 'petiva'),
'description' => '',
'priority' => 14,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('breadcrumb_setting', [
'title' => esc_html__('Breadcrumb Setting', 'petiva'),
'description' => '',
'priority' => 15,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('blog_setting', [
'title' => esc_html__('Blog Setting', 'petiva'),
'description' => '',
'priority' => 16,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('footer_setting', [
'title' => esc_html__('Footer Settings', 'petiva'),
'description' => '',
'priority' => 16,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('color_setting', [
'title' => esc_html__('Color Setting', 'petiva'),
'description' => '',
'priority' => 17,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('404_page', [
'title' => esc_html__('404 Page', 'petiva'),
'description' => '',
'priority' => 18,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
$wp_customize->add_section('typo_setting', [
'title' => esc_html__('Typography Setting', 'petiva'),
'description' => '',
'priority' => 21,
'capability' => 'edit_theme_options',
'panel' => 'petiva_customizer',
]);
}
add_action('customize_register', 'petiva_customizer_panels_sections');
function _header_top_fields($fields)
{
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_preloader',
'label' => esc_html__('Preloader On/Off', 'petiva'),
'section' => 'header_top_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_backtotop',
'label' => esc_html__('Back To Top On/Off', 'petiva'),
'section' => 'header_top_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_search_switch',
'label' => esc_html__('Search Swicher', 'petiva'),
'section' => 'header_top_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_cart_switch',
'label' => esc_html__('Cart Swicher', 'petiva'),
'section' => 'header_top_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_btn_switch',
'label' => esc_html__('Button Swicher', 'petiva'),
'section' => 'header_top_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
// Button Text
$fields[] = [
'type' => 'text',
'settings' => 'petiva_btn_text',
'label' => esc_html__('Button Text', 'petiva'),
'section' => 'header_top_setting',
'default' => esc_html__('Open Account', 'petiva'),
'priority' => 10,
'active_callback' => [
[
'setting' => 'petiva_btn_switch',
'operator' => '==',
'value' => true,
],
],
];
// button link
$fields[] = [
'type' => 'link',
'settings' => 'petiva_btn_link',
'label' => esc_html__('Button Link', 'petiva'),
'section' => 'header_top_setting',
'default' => esc_html__('', 'petiva'),
'priority' => 10,
'active_callback' => [
[
'setting' => 'petiva_btn_switch',
'operator' => '==',
'value' => true,
],
],
];
return $fields;
}
add_filter('kirki/fields', '_header_top_fields');
/*
Header Settings
*/
function _header_header_fields($fields)
{
$fields[] = [
'type' => 'radio-image',
'settings' => 'choose_default_header',
'label' => esc_html__('Select Header Style', 'petiva'),
'section' => 'section_header_logo',
'placeholder' => esc_html__('Select an option...', 'petiva'),
'priority' => 10,
'multiple' => 1,
'choices' => [
'header-style-1' => get_template_directory_uri() . '/inc/img/header/header-1.png',
],
'default' => 'header-style-1',
];
$fields[] = [
'type' => 'image',
'settings' => 'logo',
'label' => esc_html__('Header Logo', 'petiva'),
'description' => esc_html__('Upload Your Logo.', 'petiva'),
'section' => 'section_header_logo',
'priority' => 10,
'default' => get_template_directory_uri() . '/assets/images/logo.png',
];
return $fields;
}
add_filter('kirki/fields', '_header_header_fields');
/*
_header_page_title_fields
*/
function _header_page_title_fields($fields)
{
// Breadcrumb Setting
$fields[] = [
'type' => 'switch',
'settings' => 'breadcrumb_switch',
'label' => esc_html__('Breadcrumb Hide', 'petiva'),
'section' => 'breadcrumb_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'image',
'settings' => 'breadcrumb_bg_img',
'label' => esc_html__('Breadcrumb Background Image', 'petiva'),
'description' => esc_html__('Breadcrumb Background Image', 'petiva'),
'section' => 'breadcrumb_setting',
'default' => get_template_directory_uri() . '/assets/images/inner-hero-banner.webp',
];
$fields[] = [
'type' => 'color',
'settings' => 'petiva_breadcrumb_bg_color',
'label' => __('Breadcrumb BG Color', 'petiva'),
'description' => esc_html__('This is a Breadcrumb bg color control.', 'petiva'),
'section' => 'breadcrumb_setting',
'default' => '#f4f9fc',
'priority' => 10,
];
$fields[] = [
'type' => 'switch',
'settings' => 'breadcrumb_info_switch',
'label' => esc_html__('Breadcrumb Info switch', 'petiva'),
'section' => 'breadcrumb_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
return $fields;
}
add_filter('kirki/fields', '_header_page_title_fields');
/*
Header Social
*/
function _header_blog_fields($fields)
{
// Blog Setting
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_blog_btn_switch',
'label' => esc_html__('Blog BTN On/Off', 'petiva'),
'section' => 'blog_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_blog_cat',
'label' => esc_html__('Blog Category Meta On/Off', 'petiva'),
'section' => 'blog_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_blog_author',
'label' => esc_html__('Blog Author Meta On/Off', 'petiva'),
'section' => 'blog_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_blog_date',
'label' => esc_html__('Blog Date Meta On/Off', 'petiva'),
'section' => 'blog_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'switch',
'settings' => 'petiva_blog_comments',
'label' => esc_html__('Blog Comments Meta On/Off', 'petiva'),
'section' => 'blog_setting',
'default' => '1',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'text',
'settings' => 'petiva_blog_btn',
'label' => esc_html__('Blog Button text', 'petiva'),
'section' => 'blog_setting',
'default' => esc_html__('Read More', 'petiva'),
'priority' => 10,
];
return $fields;
}
add_filter('kirki/fields', '_header_blog_fields');
/*
Footer
*/
function _header_footer_fields($fields)
{
// Footer Settingbankio
$fields[] = [
'type' => 'image',
'settings' => 'petiva_footer_logo',
'label' => esc_html__('Footer Logo', 'petiva'),
'description' => esc_html__('Upload Your Logo.', 'petiva'),
'section' => 'footer_setting',
'default' => get_template_directory_uri() . '/assets/images/logo.png',
];
$fields[] = [
'type' => 'color',
'settings' => 'footer_bg_color',
'label' => __('Footer BG Color', 'petiva'),
'description' => esc_html__('This is a Footer bg color control.', 'petiva'),
'section' => 'footer_setting',
'default' => '#F5FAFF',
'priority' => 10,
];
$fields[] = [
'type' => 'image',
'settings' => 'petiva_footer_bg_img',
'label' => esc_html__('Background', 'petiva'),
'description' => esc_html__('Background Your Footer.', 'petiva'),
'section' => 'footer_setting',
'default' => get_template_directory_uri() . '/assets/images/footer-bg.webp',
];
$fields[] = [
'type' => 'switch',
'settings' => 'footer_shape_image_switch',
'label' => esc_html__('Shape Image On/Off', 'petiva'),
'section' => 'footer_setting',
'default' => '0',
'priority' => 10,
'choices' => [
'on' => esc_html__('Enable', 'petiva'),
'off' => esc_html__('Disable', 'petiva'),
],
];
$fields[] = [
'type' => 'text',
'settings' => 'Subscribe_title',
'label' => esc_html__('Subscribe', 'petiva'),
'section' => 'footer_setting',
'default' => esc_html__('Subscribe Our Newsletter', 'petiva'),
'priority' => 10,
];
$fields[] = [
'type' => 'text',
'settings' => 'Subscribe_description',
'label' => esc_html__('Subscribe description', 'petiva'),
'section' => 'footer_setting',
'default' => esc_html__('Get the latest deals and offers right to your inbox.', 'petiva'),
'priority' => 10,
];
$fields[] = [
'type' => 'text',
'settings' => 'petiva_copyright',
'label' => esc_html__('Copy Right', 'petiva'),
'section' => 'footer_setting',
'default' => esc_html__('Copyright © 2024 petiva. All Rights Reserved', 'petiva'),
'priority' => 10,
];
$fields[] = [
'type' => 'text',
'settings' => 'petiva_copyright',
'label' => esc_html__('Copy Right', 'petiva'),
'section' => 'footer_setting',
'default' => esc_html__('Copyright © 2024 petiva. All Rights Reserved', 'petiva'),
'priority' => 10,
];
return $fields;
}
add_filter('kirki/fields', '_header_footer_fields');
// color
function petiva_color_fields($fields)
{
// Color Settings
$fields[] = [
'type' => 'color',
'settings' => 'petiva_pri_color',
'label' => __('Primary Color', 'petiva'),
'description' => esc_html__('This is a Primary color control.', 'petiva'),
'section' => 'color_setting',
'default' => '#FB7B53',
'priority' => 10,
];
// Color Settings
$fields[] = [
'type' => 'color',
'settings' => 'petiva_secondary_color',
'label' => __('Secondary Color', 'petiva'),
'description' => esc_html__('This is a Secondary color control.', 'petiva'),
'section' => 'color_setting',
'default' => '#FFD15C',
'priority' => 10,
];
// Color Settings
$fields[] = [
'type' => 'color',
'settings' => 'petiva_heading_color',
'label' => __('Heading Color', 'petiva'),
'description' => esc_html__('This is a heading color control.', 'petiva'),
'section' => 'color_setting',
'default' => '#150B33',
'priority' => 10,
];
// Color Settings
$fields[] = [
'type' => 'color',
'settings' => 'petiva_text_color',
'label' => __('Text Color', 'petiva'),
'description' => esc_html__('This is a text color control.', 'petiva'),
'section' => 'color_setting',
'default' => '#4F4C57',
'priority' => 10,
];
return $fields;
}
add_filter('kirki/fields', 'petiva_color_fields');
// 404
function petiva_404_fields($fields)
{
// 404 settings
$fields[] = [
'type' => 'image',
'settings' => 'petiva_404_bg',
'label' => esc_html__('404 Image.', 'petiva'),
'description' => esc_html__('404 Image.', 'petiva'),
'section' => '404_page',
];
$fields[] = [
'type' => 'text',
'settings' => 'petiva_error_title',
'label' => esc_html__('Not Found Title', 'petiva'),
'section' => '404_page',
'default' => esc_html__('Page not found', 'petiva'),
'priority' => 10,
];
$fields[] = [
'type' => 'textarea',
'settings' => 'petiva_error_desc',
'label' => esc_html__('404 Description Text', 'petiva'),
'section' => '404_page',
'default' => esc_html__('Oops! The page you are looking for does not exist. It might have been moved or deleted', 'petiva'),
'priority' => 10,
];
$fields[] = [
'type' => 'text',
'settings' => 'petiva_error_link_text',
'label' => esc_html__('404 Link Text', 'petiva'),
'section' => '404_page',
'default' => esc_html__('Back To Home', 'petiva'),
'priority' => 10,
];
return $fields;
}
add_filter('kirki/fields', 'petiva_404_fields');
/**
* Added Fields
*/
function petiva_typo_fields($fields)
{
// typography settings
$fields[] = [
'type' => 'typography',
'settings' => 'typography_body_setting',
'label' => esc_html__('Body Font', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'p',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_link_setting',
'label' => esc_html__('Link', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'a',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_span_setting',
'label' => esc_html__('Span', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'a',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h_setting',
'label' => esc_html__('Heading h1 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h1',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h2_setting',
'label' => esc_html__('Heading h2 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h2',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h3_setting',
'label' => esc_html__('Heading h3 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h3',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h4_setting',
'label' => esc_html__('Heading h4 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h4',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h5_setting',
'label' => esc_html__('Heading h5 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h5',
],
],
];
$fields[] = [
'type' => 'typography',
'settings' => 'typography_h6_setting',
'label' => esc_html__('Heading h6 Fonts', 'petiva'),
'section' => 'typo_setting',
'default' => [
'font-family' => '',
'variant' => '',
'font-size' => '',
'line-height' => '',
'letter-spacing' => '0',
'color' => '',
],
'priority' => 10,
'transport' => 'auto',
'output' => [
[
'element' => 'h6',
],
],
];
return $fields;
}
add_filter('kirki/fields', 'petiva_typo_fields');
/**
* This is a short hand function for getting setting value from customizer
*
* @param string $name
*
* @return bool|string
*/
function petiva_THEME_option($name)
{
$value = '';
if (class_exists('petiva')) {
$value = Kirki::get_option(petiva_get_theme(), $name);
}
return apply_filters('petiva_THEME_option', $value, $name);
}
/**
* Get config ID
*
* @return string
*/
function petiva_get_theme()
{
return 'petiva';
}