File: /home/centuryt/public_html/wp-content/themes/woostify/inc/customizer/sections/shop/shop-page.php
<?php
/**
* Woocommerce shop single customizer
*
* @package woostify
*/
if ( ! woostify_is_woocommerce_activated() ) {
return;
}
// Default values.
$defaults = woostify_options();
// SHOP STRUCTURE SECTION.
$wp_customize->add_setting(
'shop_page_structure_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_structure_section',
array(
'label' => __( 'General', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_title]',
'woostify_setting[shop_page_breadcrumb]',
'woostify_setting[shop_page_result_count]',
'woostify_setting[shop_page_product_filter]',
'woostify_setting[outofstock_to_bottom]',
'woostify_setting[shop_context_tabs]',
'woostify_setting[shop_page_product_title_color]',
'woostify_setting[shop_page_product_price_color]',
'woostify_setting[shop_page_product_price_font_size]',
'woostify_setting[shop_page_product_title_font_size]',
),
)
)
);
$wp_customize->add_setting(
'woostify_setting[shop_context_tabs]',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Tabs_Control(
$wp_customize,
'woostify_setting[shop_context_tabs]',
array(
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_context_tabs]',
'choices' => array(
'general' => __( 'Settings', 'woostify' ),
'design' => __( 'Design', 'woostify' ),
),
)
)
);
// Shop title.
$wp_customize->add_setting(
'woostify_setting[shop_page_title]',
array(
'type' => 'option',
'default' => $defaults['shop_page_title'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_title]',
array(
'label' => __( 'Shop Title', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_title]',
'tab' => 'general',
)
)
);
// Breadcrumbs.
$wp_customize->add_setting(
'woostify_setting[shop_page_breadcrumb]',
array(
'type' => 'option',
'default' => $defaults['shop_page_breadcrumb'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_breadcrumb]',
array(
'label' => __( 'Breadcrumb', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_breadcrumb]',
'tab' => 'general',
)
)
);
// Result count.
$wp_customize->add_setting(
'woostify_setting[shop_page_result_count]',
array(
'type' => 'option',
'default' => $defaults['shop_page_result_count'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_result_count]',
array(
'label' => __( 'Result Count', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_result_count]',
'tab' => 'general',
)
)
);
// Product filter.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_filter]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_filter'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_filter]',
array(
'label' => __( 'Product Filtering', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_filter]',
'tab' => 'general',
)
)
);
// Product outofstock.
$wp_customize->add_setting(
'woostify_setting[outofstock_to_bottom]',
array(
'type' => 'option',
'default' => $defaults['outofstock_to_bottom'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[outofstock_to_bottom]',
array(
'label' => __( 'Out-of-stock products to bottom', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[outofstock_to_bottom]',
'tab' => 'general',
)
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_title_color]',
array(
'default' => $defaults['shop_page_product_title_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_product_title_color]',
array(
'label' => __( 'Product Title Color', 'woostify' ),
'section' => 'woostify_shop_page',
'tab' => 'design',
'settings' => array(
'woostify_setting[shop_page_product_title_color]',
),
'enable_swatches' => false,
'is_global_color' => true,
)
)
);
// font size.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_title_font_size]',
array(
'default' => $defaults['shop_page_product_title_font_size'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_title_tablet_font_size]',
array(
'default' => $defaults['shop_page_product_title_tablet_font_size'],
'type' => 'option',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_title_mobile_font_size]',
array(
'default' => $defaults['shop_page_product_title_mobile_font_size'],
'type' => 'option',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_title_font_size]',
array(
'type' => 'woostify-range-slider',
'label' => __( 'Title Font Size', 'woostify' ),
'section' => 'woostify_shop_page',
'tab' => 'design',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_title_font_size]',
'tablet' => 'woostify_setting[shop_page_product_title_tablet_font_size]',
'mobile' => 'woostify_setting[shop_page_product_title_mobile_font_size]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_shop_page_product_title_font_size_min_step', 5 ),
'max' => apply_filters( 'woostify_shop_page_product_title_font_size_max_step', 60 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
'tablet' => array(
'min' => apply_filters( 'woostify_shop_page_product_title_tablet_width_min_step', 1 ),
'max' => apply_filters( 'woostify_shop_page_product_title_tablet_width_max_step', 50 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
'mobile' => array(
'min' => apply_filters( 'woostify_shop_page_product_title_mobile_width_min_step', 1 ),
'max' => apply_filters( 'woostify_shop_page_product_title_mobile_width_max_step', 50 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_price_color]',
array(
'default' => $defaults['shop_page_product_price_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_product_price_color]',
array(
'label' => __( 'Price Color', 'woostify' ),
'section' => 'woostify_shop_page',
'tab' => 'design',
'settings' => array(
'woostify_setting[shop_page_product_price_color]',
),
'enable_swatches' => false,
'is_global_color' => true,
)
)
);
// font size.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_price_font_size]',
array(
'default' => $defaults['shop_page_product_price_font_size'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_price_tablet_font_size]',
array(
'default' => $defaults['shop_page_product_price_tablet_font_size'],
'type' => 'option',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
)
);
$wp_customize->add_setting(
'woostify_setting[shop_page_product_price_mobile_font_size]',
array(
'default' => $defaults['shop_page_product_price_mobile_font_size'],
'type' => 'option',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_price_font_size]',
array(
'type' => 'woostify-range-slider',
'label' => __( 'Price Font Size', 'woostify' ),
'section' => 'woostify_shop_page',
'tab' => 'design',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_price_font_size]',
'tablet' => 'woostify_setting[shop_page_product_price_tablet_font_size]',
'mobile' => 'woostify_setting[shop_page_product_price_mobile_font_size]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_shop_page_product_price_font_size_min_step', 5 ),
'max' => apply_filters( 'woostify_shop_page_product_price_font_size_max_step', 60 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
'tablet' => array(
'min' => apply_filters( 'woostify_shop_page_product_price_tablet_width_min_step', 1 ),
'max' => apply_filters( 'woostify_shop_page_product_price_tablet_width_max_step', 50 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
'mobile' => array(
'min' => apply_filters( 'woostify_shop_page_product_price_mobile_width_min_step', 1 ),
'max' => apply_filters( 'woostify_shop_page_product_price_mobile_width_max_step', 50 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// SHOP INFINITE SCROLL.
$wp_customize->add_setting(
'shop_page_infinite_scroll_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_infinite_scroll_section',
array(
'label' => __( 'Infinite Scroll', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_infinite_scroll_enable]',
'woostify_setting[shop_page_infinite_scroll_type]',
),
)
)
);
// Infinite scroll enable.
$wp_customize->add_setting(
'woostify_setting[shop_page_infinite_scroll_enable]',
array(
'type' => 'option',
'default' => $defaults['shop_page_infinite_scroll_enable'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_infinite_scroll_enable]',
array(
'label' => __( 'Enable', 'woostify' ),
'description' => __( 'Enable infinite scroll for WooCommerce category/product archive.', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_infinite_scroll_enable]',
)
)
);
// Infinite scroll loading type.
$wp_customize->add_setting(
'woostify_setting[shop_page_infinite_scroll_type]',
array(
'default' => $defaults['shop_page_infinite_scroll_type'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_infinite_scroll_type]',
array(
'label' => __( 'Loading Type', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_infinite_scroll_type]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_infinite_scroll_type_choices',
array(
'button' => __( 'Button (On click)', 'woostify' ),
'auto' => __( 'Auto (On scroll)', 'woostify' ),
)
),
)
)
);
// PRODUCT CARD SECTION.
$wp_customize->add_setting(
'shop_page_product_card_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_product_card_section',
array(
'label' => __( 'Product Card', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_product_card_border_style]',
'woostify_setting[shop_page_product_card_border_width]',
'woostify_setting[shop_page_product_card_border_color]',
),
)
)
);
// Border style.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_card_border_style]',
array(
'default' => $defaults['shop_page_product_card_border_style'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_product_card_border_style]',
array(
'label' => __( 'Border Style', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_card_border_style]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_product_card_border_style_choices',
array(
'none' => __( 'None', 'woostify' ),
'solid' => __( 'Solid', 'woostify' ),
'dashed' => __( 'Dashed', 'woostify' ),
'dotted' => __( 'Dotted', 'woostify' ),
'double' => __( 'Double', 'woostify' ),
)
),
)
)
);
// Border width.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_card_border_width]',
array(
'default' => $defaults['shop_page_product_card_border_width'],
'sanitize_callback' => 'absint',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_card_border_width]',
array(
'label' => __( 'Border Width', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_card_border_width]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_product_card_border_width_min_step', 1 ),
'max' => apply_filters( 'woostify_product_card_border_width_max_step', 10 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// Border color.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_card_border_color]',
array(
'default' => $defaults['shop_page_product_card_border_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_product_card_border_color]',
array(
'label' => __( 'Border Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array( 'woostify_setting[shop_page_product_card_border_color]' ),
)
)
);
// PRODUCT CONTENT SECTION.
$wp_customize->add_setting(
'shop_page_product_meta_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_product_meta_section',
array(
'label' => __( 'Product Content', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_product_alignment]',
'shop_page_product_alignment_divider',
'woostify_setting[shop_page_product_title]',
'woostify_setting[shop_page_product_category]',
'woostify_setting[shop_page_product_rating]',
'woostify_setting[shop_page_product_price]',
'woostify_setting[shop_page_product_quantity]',
'woostify_setting[shop_page_product_content_equal]',
'woostify_setting[shop_page_product_content_min_height]',
),
)
)
);
// Alignment.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_alignment]',
array(
'default' => $defaults['shop_page_product_alignment'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_product_alignment]',
array(
'label' => __( 'Alignment', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_alignment]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_product_alignment_choices',
array(
'left' => __( 'Left', 'woostify' ),
'center' => __( 'Center', 'woostify' ),
'right' => __( 'Right', 'woostify' ),
)
),
)
)
);
// Divider.
$wp_customize->add_setting(
'shop_page_product_alignment_divider',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Divider_Control(
$wp_customize,
'shop_page_product_alignment_divider',
array(
'section' => 'woostify_shop_page',
'settings' => 'shop_page_product_alignment_divider',
'type' => 'divider',
)
)
);
// Product title.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_title]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_title'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_title]',
array(
'label' => __( 'Product Title', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_title]',
)
)
);
// Product category.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_category]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_category'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_category]',
array(
'label' => __( 'Product Category', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_category]',
)
)
);
// Product rating.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_rating]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_rating'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_rating]',
array(
'label' => __( 'Product Rating', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_rating]',
)
)
);
// Product price.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_price]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_price'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_price]',
array(
'label' => __( 'Product Price', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_price]',
)
)
);
// Product quantity.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_quantity]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_quantity'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_quantity]',
array(
'label' => __( 'Product Quantity', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_quantity]',
)
)
);
// Equal product content.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_content_equal]',
array(
'type' => 'option',
'default' => $defaults['shop_page_product_content_equal'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_content_equal]',
array(
'label' => __( 'Equal Product Content', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_content_equal]',
)
)
);
// Product content min height.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_content_min_height]',
array(
'default' => $defaults['shop_page_product_content_min_height'],
'sanitize_callback' => 'absint',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_content_min_height]',
array(
'label' => __( 'Product Content Min Height', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_content_min_height]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_product_content_min_height_min_step', 10 ),
'max' => apply_filters( 'woostify_product_content_min_height_max_step', 500 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// PRODUCT IMAGE SECTION.
$wp_customize->add_setting(
'shop_page_product_image_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_product_image_section',
array(
'label' => __( 'Product Image', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_product_image_border_style]',
'woostify_setting[shop_page_product_image_border_width]',
'woostify_setting[shop_page_product_image_border_color]',
'woostify_setting[shop_page_product_image_hover]',
'woostify_setting[shop_page_product_image_equal_height]',
'woostify_setting[shop_page_product_image_height]',
),
)
)
);
// Image hover.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_hover]',
array(
'default' => $defaults['shop_page_product_image_hover'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_hover]',
array(
'label' => __( 'Hover Effect', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_image_hover]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_image_hover_choices',
array(
'none' => __( 'None', 'woostify' ),
'zoom' => __( 'Zoom', 'woostify' ),
'swap' => __( 'Swap', 'woostify' ),
)
),
)
)
);
// Border style.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_border_style]',
array(
'default' => $defaults['shop_page_product_image_border_style'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_border_style]',
array(
'label' => __( 'Border Style', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_product_image_border_style]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_product_image_border_style_choices',
array(
'none' => __( 'None', 'woostify' ),
'solid' => __( 'Solid', 'woostify' ),
'dashed' => __( 'Dashed', 'woostify' ),
'dotted' => __( 'Dotted', 'woostify' ),
'double' => __( 'Double', 'woostify' ),
)
),
)
)
);
// Border width.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_border_width]',
array(
'default' => $defaults['shop_page_product_image_border_width'],
'sanitize_callback' => 'absint',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_border_width]',
array(
'label' => __( 'Border Width', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_image_border_width]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_product_image_border_width_min_step', 1 ),
'max' => apply_filters( 'woostify_product_image_border_width_max_step', 10 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// Border color.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_border_color]',
array(
'default' => $defaults['shop_page_product_image_border_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_border_color]',
array(
'label' => __( 'Border Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array( 'woostify_setting[shop_page_product_image_border_color]' ),
)
)
);
// Equal image height.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_equal_height]',
array(
'default' => $defaults['shop_page_product_image_equal_height'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_equal_height]',
array(
'label' => __( 'Equal Image Height', 'woostify' ),
'settings' => 'woostify_setting[shop_page_product_image_equal_height]',
'section' => 'woostify_shop_page',
)
)
);
// Image height.
$wp_customize->add_setting(
'woostify_setting[shop_page_product_image_height]',
array(
'default' => $defaults['shop_page_product_image_height'],
'type' => 'option',
'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_product_image_height]',
array(
'type' => 'woostify-range-slider',
'label' => __( 'Image Height', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_product_image_height]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_shop_page_product_image_height_min_step', 50 ),
'max' => apply_filters( 'woostify_shop_page_product_image_height_max_step', 600 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// SALE TAG SECTION.
$wp_customize->add_setting(
'shop_page_sale_tag_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_sale_tag_section',
array(
'label' => __( 'Sale Tag', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_sale_tag_position]',
'woostify_setting[shop_page_sale_percent]',
'woostify_setting[shop_page_sale_text]',
'woostify_setting[shop_page_sale_border_radius]',
'woostify_setting[shop_page_sale_square]',
'woostify_setting[shop_page_sale_size]',
'woostify_setting[shop_page_sale_color]',
'woostify_setting[shop_page_sale_bg_color]',
),
)
)
);
// Position.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_tag_position]',
array(
'default' => $defaults['shop_page_sale_tag_position'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_sale_tag_position]',
array(
'label' => __( 'Position', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_sale_tag_position]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_sale_tag_position_choices',
array(
'left' => __( 'Left', 'woostify' ),
'right' => __( 'Right', 'woostify' ),
)
),
)
)
);
// Sale text.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_text]',
array(
'default' => $defaults['shop_page_sale_text'],
'sanitize_callback' => 'sanitize_text_field',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_sale_text]',
array(
'label' => __( 'Text', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_sale_text]',
'type' => 'text',
)
)
);
// Text color.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_color]',
array(
'default' => $defaults['shop_page_sale_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_sale_color]',
array(
'label' => __( 'Text Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_sale_color]',
),
)
)
);
// Background color.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_bg_color]',
array(
'default' => $defaults['shop_page_sale_bg_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_sale_bg_color]',
array(
'label' => __( 'Background Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_sale_bg_color]',
),
)
)
);
// Border radius.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_border_radius]',
array(
'default' => $defaults['shop_page_sale_border_radius'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_sale_border_radius]',
array(
'label' => __( 'Border Radius', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_sale_border_radius]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_sale_border_radius_min_step', 0 ),
'max' => apply_filters( 'woostify_sale_border_radius_max_step', 200 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// Sale percentage.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_percent]',
array(
'default' => $defaults['shop_page_sale_percent'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_sale_percent]',
array(
'label' => __( 'Sale Percentage', 'woostify' ),
'settings' => 'woostify_setting[shop_page_sale_percent]',
'section' => 'woostify_shop_page',
)
)
);
// Sale square.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_square]',
array(
'default' => $defaults['shop_page_sale_square'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_checkbox',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_sale_square]',
array(
'label' => __( 'Sale Square', 'woostify' ),
'settings' => 'woostify_setting[shop_page_sale_square]',
'section' => 'woostify_shop_page',
)
)
);
// Sale size.
$wp_customize->add_setting(
'woostify_setting[shop_page_sale_size]',
array(
'default' => $defaults['shop_page_sale_size'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_sale_size]',
array(
'label' => __( 'Size', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_sale_size]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_sale_size_min_step', 20 ),
'max' => apply_filters( 'woostify_sale_size_max_step', 200 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// OUT OF STOCK TAG SECTION.
$wp_customize->add_setting(
'shop_page_out_of_stock_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_out_of_stock_section',
array(
'label' => __( 'Out Of Stock Label', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_out_of_stock_position]',
'woostify_setting[shop_page_out_of_stock_text]',
'woostify_setting[shop_page_out_of_stock_color]',
'woostify_setting[shop_page_out_of_stock_bg_color]',
'woostify_setting[shop_page_out_of_stock_border_radius]',
'woostify_setting[shop_page_out_of_stock_square]',
'woostify_setting[shop_page_out_of_stock_size]',
),
)
)
);
// Display.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_position]',
array(
'default' => $defaults['shop_page_out_of_stock_position'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_position]',
array(
'label' => __( 'Display', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_out_of_stock_position]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_out_of_stock_position_choices',
array(
'left' => __( 'Left', 'woostify' ),
'right' => __( 'Right', 'woostify' ),
'none' => __( 'None', 'woostify' ),
)
),
)
)
);
// Text.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_text]',
array(
'default' => $defaults['shop_page_out_of_stock_text'],
'sanitize_callback' => 'sanitize_text_field',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_text]',
array(
'label' => __( 'Text', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_out_of_stock_text]',
'type' => 'text',
)
)
);
// Text color.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_color]',
array(
'default' => $defaults['shop_page_out_of_stock_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_color]',
array(
'label' => __( 'Text Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_out_of_stock_color]',
),
)
)
);
// Background color.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_bg_color]',
array(
'default' => $defaults['shop_page_out_of_stock_bg_color'],
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_bg_color]',
array(
'label' => __( 'Background Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_out_of_stock_bg_color]',
),
)
)
);
// Border radius.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_border_radius]',
array(
'default' => $defaults['shop_page_out_of_stock_border_radius'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_border_radius]',
array(
'label' => __( 'Border Radius', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_out_of_stock_border_radius]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_out_of_stock_border_radius_min_step', 0 ),
'max' => apply_filters( 'woostify_out_of_stock_border_radius_max_step', 200 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// Square.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_square]',
array(
'default' => $defaults['shop_page_out_of_stock_square'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_checkbox',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_square]',
array(
'label' => __( 'Square', 'woostify' ),
'settings' => 'woostify_setting[shop_page_out_of_stock_square]',
'section' => 'woostify_shop_page',
)
)
);
// Size.
$wp_customize->add_setting(
'woostify_setting[shop_page_out_of_stock_size]',
array(
'default' => $defaults['shop_page_out_of_stock_size'],
'sanitize_callback' => 'absint',
'type' => 'option',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_out_of_stock_size]',
array(
'label' => __( 'Size', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_out_of_stock_size]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_out_of_stock_size_min_step', 20 ),
'max' => apply_filters( 'woostify_out_of_stock_size_max_step', 200 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);
// WISHLIST SECTION.
$wp_customize->add_setting(
'shop_page_wishlist_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_wishlist_section',
array(
'label' => __( 'Wishlist Button', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_page_wishlist_support_plugin]',
'woostify_setting[shop_page_wishlist_position]',
),
)
)
);
// Support plugin.
$wp_customize->add_setting(
'woostify_setting[shop_page_wishlist_support_plugin]',
array(
'default' => $defaults['shop_page_wishlist_support_plugin'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
'woostify_setting[shop_page_wishlist_support_plugin]',
array(
'label' => __( 'Support For Plugin', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_wishlist_support_plugin]',
'type' => 'select',
'choices' => apply_filters(
'woostify_setting_shop_page_wishlist_support_plugin_choices',
array(
'yith' => __( 'YITH WooCommerce Wishlist', 'woostify' ),
'ti' => __( 'TI WooCommerce Wishlist', 'woostify' ),
)
),
)
)
);
// Position.
$wp_customize->add_setting(
'woostify_setting[shop_page_wishlist_position]',
array(
'default' => $defaults['shop_page_wishlist_position'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Radio_Image_Control(
$wp_customize,
'woostify_setting[shop_page_wishlist_position]',
array(
'label' => __( 'Position', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_wishlist_position]',
'choices' => apply_filters(
'woostify_setting_shop_page_wishlist_position_choices',
array(
'none' => WOOSTIFY_THEME_URI . 'assets/images/customizer/wishlist/wishlist-1.jpg',
'top-right' => WOOSTIFY_THEME_URI . 'assets/images/customizer/wishlist/wishlist-2.jpg',
'bottom-right' => WOOSTIFY_THEME_URI . 'assets/images/customizer/wishlist/wishlist-3.jpg',
)
),
)
)
);
// ADD TO CART SECTION.
$wp_customize->add_setting(
'shop_page_add_to_cart_section',
array(
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control(
new Woostify_Section_Control(
$wp_customize,
'shop_page_add_to_cart_section',
array(
'label' => __( 'Add To Cart Button', 'woostify' ),
'section' => 'woostify_shop_page',
'dependency' => array(
'woostify_setting[shop_product_add_to_cart_icon]',
'woostify_setting[shop_page_add_to_cart_button_position]',
'woostify_setting[shop_page_button_cart_background]',
'woostify_setting[shop_page_button_cart_color]',
'woostify_setting[shop_page_button_background_hover]',
'woostify_setting[shop_page_button_color_hover]',
'woostify_setting[shop_page_button_border_radius]',
),
)
)
);
// Position.
$wp_customize->add_setting(
'woostify_setting[shop_page_add_to_cart_button_position]',
array(
'default' => $defaults['shop_page_add_to_cart_button_position'],
'sanitize_callback' => 'woostify_sanitize_choices',
'type' => 'option',
)
);
$wp_customize->add_control(
new Woostify_Radio_Image_Control(
$wp_customize,
'woostify_setting[shop_page_add_to_cart_button_position]',
array(
'label' => __( 'Position', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_page_add_to_cart_button_position]',
'choices' => apply_filters(
'woostify_setting_shop_page_add_to_cart_button_position_choices',
array(
'none' => WOOSTIFY_THEME_URI . 'assets/images/customizer/add-to-cart/add-cart-1.jpg',
'bottom' => WOOSTIFY_THEME_URI . 'assets/images/customizer/add-to-cart/add-cart-2.jpg',
'bottom-visible' => WOOSTIFY_THEME_URI . 'assets/images/customizer/add-to-cart/add-cart-3.jpg',
'image' => WOOSTIFY_THEME_URI . 'assets/images/customizer/add-to-cart/add-cart-4.jpg',
'icon' => WOOSTIFY_THEME_URI . 'assets/images/customizer/add-to-cart/add-cart-5.jpg',
)
),
)
)
);
// Cart icon.
$wp_customize->add_setting(
'woostify_setting[shop_product_add_to_cart_icon]',
array(
'type' => 'option',
'default' => $defaults['shop_product_add_to_cart_icon'],
'sanitize_callback' => 'woostify_sanitize_checkbox',
)
);
$wp_customize->add_control(
new Woostify_Switch_Control(
$wp_customize,
'woostify_setting[shop_product_add_to_cart_icon]',
array(
'label' => __( 'Cart Icon', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => 'woostify_setting[shop_product_add_to_cart_icon]',
)
)
);
// Button Background.
$wp_customize->add_setting(
'woostify_setting[shop_page_button_cart_background]',
array(
'default' => $defaults['shop_page_button_cart_background'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'transport' => 'postMessage',
)
);
// Button Hover Background.
$wp_customize->add_setting(
'woostify_setting[shop_page_button_background_hover]',
array(
'default' => $defaults['shop_page_button_background_hover'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_button_cart_background]',
array(
'label' => __( 'Background', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_button_cart_background]',
'woostify_setting[shop_page_button_background_hover]',
),
'tooltips' => array(
'Normal',
'Hover',
),
)
)
);
// Button Color.
$wp_customize->add_setting(
'woostify_setting[shop_page_button_cart_color]',
array(
'default' => $defaults['shop_page_button_cart_color'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'transport' => 'postMessage',
)
);
// Button Hover Color.
$wp_customize->add_setting(
'woostify_setting[shop_page_button_color_hover]',
array(
'default' => $defaults['shop_page_button_color_hover'],
'type' => 'option',
'sanitize_callback' => 'woostify_sanitize_rgba_color',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Color_Group_Control(
$wp_customize,
'woostify_setting[shop_page_button_cart_color]',
array(
'label' => __( 'Color', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'woostify_setting[shop_page_button_cart_color]',
'woostify_setting[shop_page_button_color_hover]',
),
'tooltips' => array(
'Normal',
'Hover',
),
)
)
);
// Border radius.
$wp_customize->add_setting(
'woostify_setting[shop_page_button_border_radius]',
array(
'default' => $defaults['shop_page_button_border_radius'],
'type' => 'option',
'sanitize_callback' => 'esc_html',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new Woostify_Range_Slider_Control(
$wp_customize,
'woostify_setting[shop_page_button_border_radius]',
array(
'label' => __( 'Border Radius', 'woostify' ),
'section' => 'woostify_shop_page',
'settings' => array(
'desktop' => 'woostify_setting[shop_page_button_border_radius]',
),
'choices' => array(
'desktop' => array(
'min' => apply_filters( 'woostify_shop_page_button_border_radius_min_step', 0 ),
'max' => apply_filters( 'woostify_shop_page_button_border_radius_max_step', 50 ),
'step' => 1,
'edit' => true,
'unit' => 'px',
),
),
)
)
);