HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpprotonperinggit/wp-content/themes/voiture/inc/vendors/woocommerce/customizer.php
<?php

function voiture_woo_customize_register( $wp_customize ) {
    global $wp_registered_sidebars;
    $sidebars = array();

    if ( is_admin() && !empty($wp_registered_sidebars) ) {
        foreach ($wp_registered_sidebars as $sidebar) {
            $sidebars[$sidebar['id']] = $sidebar['name'];
        }
    }
    $columns = array( '1' => esc_html__('1 Column', 'voiture'),
        '2' => esc_html__('2 Columns', 'voiture'),
        '3' => esc_html__('3 Columns', 'voiture'),
        '4' => esc_html__('4 Columns', 'voiture'),
        '5' => esc_html__('5 Columns', 'voiture'),
        '6' => esc_html__('6 Columns', 'voiture'),
        '7' => esc_html__('7 Columns', 'voiture'),
        '8' => esc_html__('8 Columns', 'voiture'),
    );
    
    // Shop Panel
    $wp_customize->add_panel( 'voiture_settings_shop', array(
        'title' => esc_html__( 'Shop Settings', 'voiture' ),
        'priority' => 4,
    ) );

    // General Section
    $wp_customize->add_section('voiture_settings_shop_general', array(
        'title'    => esc_html__('General', 'voiture'),
        'priority' => 1,
        'panel' => 'voiture_settings_shop',
    ));

    // Breadcrumbs
    $wp_customize->add_setting('voiture_theme_options[show_product_breadcrumbs]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'    => 1,
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_product_breadcrumbs', array(
        'settings' => 'voiture_theme_options[show_product_breadcrumbs]',
        'label'    => esc_html__('Breadcrumbs', 'voiture'),
        'section'  => 'voiture_settings_shop_general',
        'type'     => 'checkbox',
    ));

    // Breadcrumbs Background Color
    $wp_customize->add_setting('voiture_theme_options[woo_breadcrumb_color]', array(
        'default'           => '',
        'sanitize_callback' => 'sanitize_hex_color',
        'capability'        => 'edit_theme_options',
        'type'           => 'option',
    ));

    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'woo_breadcrumb_color', array(
        'label'    => esc_html__('Breadcrumbs Background Color', 'voiture'),
        'section'  => 'voiture_settings_shop_general',
        'settings' => 'voiture_theme_options[woo_breadcrumb_color]',
    )));

    // Breadcrumbs Background
    $wp_customize->add_setting('voiture_theme_options[woo_breadcrumb_image]', array(
        'default'           => '',
        'capability'        => 'edit_theme_options',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new WP_Customize_Image_Control($wp_customize, 'woo_breadcrumb_image', array(
        'label'    => esc_html__('Breadcrumbs Background', 'voiture'),
        'section'  => 'voiture_settings_shop_general',
        'settings' => 'voiture_theme_options[woo_breadcrumb_image]',
    )));


    // Product Archives
    $wp_customize->add_section('voiture_settings_shop_archive', array(
        'title'    => esc_html__('Product Archives', 'voiture'),
        'priority' => 2,
        'panel' => 'voiture_settings_shop',
    ));

    // General Setting ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_general_setting]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new Voiture_WP_Customize_Heading_Control($wp_customize, 'show_shop_general_setting', array(
        'label'    => esc_html__('General Settings', 'voiture'),
        'section'  => 'voiture_settings_shop_archive',
        'settings' => 'voiture_theme_options[show_shop_general_setting]',
    )));


    // Show Shop/Category Title ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_cat_title]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_shop_cat_title', array(
        'settings' => 'voiture_theme_options[show_shop_cat_title]',
        'label'    => esc_html__('Show Shop/Category Title ?', 'voiture'),
        'section'  => 'voiture_settings_shop_archive',
        'type'     => 'checkbox',
    ));

    // Display Mode
    $wp_customize->add_setting( 'voiture_theme_options[product_display_mode]', array(
        'default'        => 'grid',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_archive_blog_archive', array(
        'label'   => esc_html__('Display Mode', 'voiture'),
        'section' => 'voiture_settings_shop_archive',
        'type'    => 'select',
        'choices' => array(
            'grid' => esc_html__('Grid', 'voiture'),
            'list' => esc_html__('List', 'voiture'),
        ),
        'settings' => 'voiture_theme_options[product_display_mode]',
    ) );

    // products Columns
    $wp_customize->add_setting( 'voiture_theme_options[product_columns]', array(
        'default'        => '4',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_archive_product_columns', array(
        'label'   => esc_html__('Product Columns', 'voiture'),
        'section' => 'voiture_settings_shop_archive',
        'type'    => 'select',
        'choices' => $columns,
        'settings' => 'voiture_theme_options[product_columns]',
    ) );

    // Number of Products Per Page
    $wp_customize->add_setting( 'voiture_theme_options[number_products_per_page]', array(
        'default'        => '12',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_archive_number_products_per_page', array(
        'label'   => esc_html__('Number of Products Per Page', 'voiture'),
        'section' => 'voiture_settings_shop_archive',
        'type'    => 'number',
        'settings' => 'voiture_theme_options[number_products_per_page]',
    ) );

    // Enable Swap Image
    $wp_customize->add_setting('voiture_theme_options[enable_swap_image]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'       => '1',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_enable_swap_image', array(
        'settings' => 'voiture_theme_options[enable_swap_image]',
        'label'    => esc_html__('Enable Swap Image', 'voiture'),
        'section'  => 'voiture_settings_shop_archive',
        'type'     => 'checkbox',
    ));

    // Sidebar Setting ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_sidebar_setting]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new Voiture_WP_Customize_Heading_Control($wp_customize, 'show_shop_sidebar_setting', array(
        'label'    => esc_html__('Sidebar Settings', 'voiture'),
        'section'  => 'voiture_settings_shop_archive',
        'settings' => 'voiture_theme_options[show_shop_sidebar_setting]',
    )));

    // layout
    $wp_customize->add_setting( 'voiture_theme_options[product_archive_layout]', array(
        'default'        => 'main',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );

    $wp_customize->add_control( new Voiture_WP_Customize_Radio_Image_Control( 
        $wp_customize, 
        'voiture_settings_shop_archive_layout', 
        array(
            'label'   => esc_html__('Layout Type', 'voiture'),
            'section' => 'voiture_settings_shop_archive',
            'type'    => 'select',
            'choices' => array(
                'main' => array(
                    'title' => esc_html__('Main Only', 'voiture'),
                    'img' => get_template_directory_uri() . '/inc/assets/images/screen1.png'
                ),
                'left-main' => array(
                    'title' => esc_html__('Left - Main Sidebar', 'voiture'),
                    'img' => get_template_directory_uri() . '/inc/assets/images/screen2.png'
                ),
                'main-right' => array(
                    'title' => esc_html__('Main - Right Sidebar', 'voiture'),
                    'img' => get_template_directory_uri() . '/inc/assets/images/screen3.png'
                ),
            ),
            'settings' => 'voiture_theme_options[product_archive_layout]',
            'description' => esc_html__('Select the variation you want to apply on your shop/archive page.', 'voiture'),
        ) 
    ));

    // Is Full Width
    $wp_customize->add_setting('voiture_theme_options[product_archive_fullwidth]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_product_archive_fullwidth', array(
        'settings' => 'voiture_theme_options[product_archive_fullwidth]',
        'label'    => esc_html__('Is Full Width', 'voiture'),
        'section'  => 'voiture_settings_shop_archive',
        'type'     => 'checkbox',
    ));

    

    // Left Sidebar
    $wp_customize->add_setting( 'voiture_theme_options[product_archive_left_sidebar]', array(
        'default'        => '',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_archive_left_sidebar', array(
        'label'   => esc_html__('Archive Left Sidebar', 'voiture'),
        'section' => 'voiture_settings_shop_archive',
        'type'    => 'select',
        'choices' => $sidebars,
        'settings' => 'voiture_theme_options[product_archive_left_sidebar]',
        'description' => esc_html__('Choose a sidebar for left sidebar', 'voiture'),
    ) );

    // Right Sidebar
    $wp_customize->add_setting( 'voiture_theme_options[product_archive_right_sidebar]', array(
        'default'        => '',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_archive_right_sidebar', array(
        'label'   => esc_html__('Archive Right Sidebar', 'voiture'),
        'section' => 'voiture_settings_shop_archive',
        'type'    => 'select',
        'choices' => $sidebars,
        'settings' => 'voiture_theme_options[product_archive_right_sidebar]',
        'description' => esc_html__('Choose a sidebar for right sidebar', 'voiture'),
    ) );




    // Single Product
    $wp_customize->add_section('voiture_settings_shop_single', array(
        'title'    => esc_html__('Single Product', 'voiture'),
        'priority' => 3,
        'panel' => 'voiture_settings_shop',
    ));

    // General Setting ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_single_general_setting]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new Voiture_WP_Customize_Heading_Control($wp_customize, 'show_shop_single_general_setting', array(
        'label'    => esc_html__('General Settings', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'settings' => 'voiture_theme_options[show_shop_single_general_setting]',
    )));

    // Thumbnails Position
    $wp_customize->add_setting( 'voiture_theme_options[product_thumbs_position]', array(
        'default'        => 'thumbnails-bottom',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_thumbs_position', array(
        'label'   => esc_html__('Thumbnails Position', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => array(
            'thumbnails-left' => esc_html__('Thumbnails Left', 'voiture'),
            'thumbnails-right' => esc_html__('Thumbnails Right', 'voiture'),
            'thumbnails-bottom' => esc_html__('Thumbnails Bottom', 'voiture'),
        ),
        'settings' => 'voiture_theme_options[product_thumbs_position]',
    ) );

    // Number Thumbnails Per Row
    $wp_customize->add_setting( 'voiture_theme_options[number_product_thumbs]', array(
        'default'        => '5',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_number_product_thumbs', array(
        'label'   => esc_html__('Number Thumbnails Per Row', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'number',
        'settings' => 'voiture_theme_options[number_product_thumbs]',
    ) );

    // Show Social Share
    $wp_customize->add_setting('voiture_theme_options[show_product_social_share]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'    => 1,
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_product_social_share', array(
        'settings' => 'voiture_theme_options[show_product_social_share]',
        'label'    => esc_html__('Show Social Share', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'type'     => 'checkbox',
    ));

    // Show Product Review Tab
    $wp_customize->add_setting('voiture_theme_options[show_product_review_tab]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'    => 1,
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_product_review_tab', array(
        'settings' => 'voiture_theme_options[show_product_review_tab]',
        'label'    => esc_html__('Show Product Review Tab', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'type'     => 'checkbox',
    ));

    // Sidebar Setting ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_single_sidebar_setting]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new Voiture_WP_Customize_Heading_Control($wp_customize, 'show_shop_single_sidebar_setting', array(
        'label'    => esc_html__('Sidebar Settings', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'settings' => 'voiture_theme_options[show_shop_single_sidebar_setting]',
    )));

    // layout
    $wp_customize->add_setting( 'voiture_theme_options[product_single_layout]', array(
        'default'        => 'left-main',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_layout', array(
        'label'   => esc_html__('Layout Type', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => array(
            'main' => esc_html__('Main Only', 'voiture'),
            'left-main' => esc_html__('Left - Main Sidebar', 'voiture'),
            'main-right' => esc_html__('Main - Right Sidebar', 'voiture'),
        ),
        'settings' => 'voiture_theme_options[product_single_layout]',
        'description' => esc_html__('Select the variation you want to apply on your blog.', 'voiture'),
    ) );

    // Is Full Width
    $wp_customize->add_setting('voiture_theme_options[product_single_fullwidth]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_product_single_fullwidth', array(
        'settings' => 'voiture_theme_options[product_single_fullwidth]',
        'label'    => esc_html__('Is Full Width', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'type'     => 'checkbox',
    ));

    // Left Sidebar
    $wp_customize->add_setting( 'voiture_theme_options[product_single_left_sidebar]', array(
        'default'        => '',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_left_sidebar', array(
        'label'   => esc_html__('Single Left Sidebar', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => $sidebars,
        'settings' => 'voiture_theme_options[product_single_left_sidebar]',
        'description' => esc_html__('Choose a sidebar for left sidebar', 'voiture'),
    ) );

    // Right Sidebar
    $wp_customize->add_setting( 'voiture_theme_options[product_single_right_sidebar]', array(
        'default'        => '',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_right_sidebar', array(
        'label'   => esc_html__('Single Right Sidebar', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => $sidebars,
        'settings' => 'voiture_theme_options[product_single_right_sidebar]',
        'description' => esc_html__('Choose a sidebar for right sidebar', 'voiture'),
    ) );

    // Product Block Setting ?
    $wp_customize->add_setting('voiture_theme_options[show_shop_single_product_block_setting]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control( new Voiture_WP_Customize_Heading_Control($wp_customize, 'show_shop_single_product_block_setting', array(
        'label'    => esc_html__('Product Block Settings', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'settings' => 'voiture_theme_options[show_shop_single_product_block_setting]',
    )));

    // Show Products Related
    $wp_customize->add_setting('voiture_theme_options[show_product_related]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'    => 1,
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_product_related', array(
        'settings' => 'voiture_theme_options[show_product_related]',
        'label'    => esc_html__('Show Products Related', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'type'     => 'checkbox',
    ));

    // Number related products
    $wp_customize->add_setting( 'voiture_theme_options[number_product_related]', array(
        'default'        => '4',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_number_product_related', array(
        'label'   => esc_html__('Number related products', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'number',
        'settings' => 'voiture_theme_options[number_product_related]',
    ) );

    // Related Products Columns
    $wp_customize->add_setting( 'voiture_theme_options[related_product_columns]', array(
        'default'        => '4',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_related_product_columns', array(
        'label'   => esc_html__('Related Products Columns', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => $columns,
        'settings' => 'voiture_theme_options[related_product_columns]',
    ) );

    // Show Products upsells
    $wp_customize->add_setting('voiture_theme_options[show_product_upsells]', array(
        'capability' => 'edit_theme_options',
        'type'       => 'option',
        'default'    => 1,
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('voiture_theme_options_show_product_upsells', array(
        'settings' => 'voiture_theme_options[show_product_upsells]',
        'label'    => esc_html__('Show Products upsells', 'voiture'),
        'section'  => 'voiture_settings_shop_single',
        'type'     => 'checkbox',
    ));

    // Upsells Products Columns
    $wp_customize->add_setting( 'voiture_theme_options[upsells_product_columns]', array(
        'default'        => '4',
        'type'           => 'option',
        'sanitize_callback' => 'sanitize_text_field',
    ) );
    $wp_customize->add_control( 'voiture_settings_shop_single_upsells_product_columns', array(
        'label'   => esc_html__('Upsells Products Columns', 'voiture'),
        'section' => 'voiture_settings_shop_single',
        'type'    => 'select',
        'choices' => $columns,
        'settings' => 'voiture_theme_options[upsells_product_columns]',
    ) );
}
add_action( 'customize_register', 'voiture_woo_customize_register', 15 );