manager->get_control( $setting->id )->choices;
// return default if not valid
return ( array_key_exists( $input, $options ) ? $input : $setting->default );
}
// number absint
function bard_sanitize_number_absint( $number, $setting ) {
// ensure $number is an absolute integer
$number = absint( $number );
if ( $setting->id === 'bard_options[featured_slider_amount]' ) {
return ( $number < 4 ? $number : $setting->default );
} else {
return ( $number ? $number : $setting->default );
}
}
// textarea
function bard_sanitize_textarea( $input ) {
$allowedtags = array(
'a' => array(
'href' => array(),
'title' => array(),
'_blank' => array()
),
'img' => array(
'src' => array(),
'alt' => array(),
'width' => array(),
'height' => array(),
'style' => array(),
'class' => array(),
'id' => array()
),
'br' => array(),
'em' => array(),
'strong' => array()
);
// return filtered html
return wp_kses( $input, $allowedtags );
}
// Custom Controls
function bard_sanitize_custom_control( $input ) {
return $input;
}
/*
** Reusable Functions =====
*/
// checkbox
function bard_checkbox_control( $section, $id, $name, $transport, $priority ) {
global $wp_customize;
if ( $section !== 'title_tagline' && $section !== 'header_image' ) {
$section_id = 'bard_'. $section;
} else {
$section_id = $section;
}
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bard_sanitize_checkbox'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => $section_id,
'type' => 'checkbox',
'priority' => $priority
) );
}
// text
function bard_text_control( $section, $id, $name, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'sanitize_text_field'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'type' => 'text',
'priority' => $priority
) );
}
// color
function bard_color_control( $section, $id, $name, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'sanitize_hex_color'
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'priority' => $priority
) ) );
}
// textarea
function bard_textarea_control( $section, $id, $name, $description, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bard_sanitize_textarea'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'description' => wp_kses_post($description),
'section' => 'bard_'. $section,
'type' => 'textarea',
'priority' => $priority
) );
}
// url
function bard_url_control( $section, $id, $name, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_url_raw'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'type' => 'text',
'priority' => $priority
) );
}
// number absint
function bard_number_absint_control( $section, $id, $name, $atts, $transport, $priority ) {
global $wp_customize;
if ( $section !== 'title_tagline' && $section !== 'header_image' ) {
$section_id = 'bard_'. $section;
} else {
$section_id = $section;
}
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bard_sanitize_number_absint'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => $section_id,
'type' => 'number',
'input_attrs' => $atts,
'priority' => $priority
) );
}
// select
function bard_select_control( $section, $id, $name, $atts, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bard_sanitize_select'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'type' => 'select',
'choices' => $atts,
'priority' => $priority
) );
}
// radio
function bard_radio_control( $section, $id, $name, $atts, $transport, $priority ) {
global $wp_customize;
if ( $section !== 'header_image' ) {
$section_id = 'bard_'. $section;
} else {
$section_id = $section;
}
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bard_sanitize_select'
) );
$wp_customize->add_control( 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => $section_id,
'type' => 'radio',
'choices' => $atts,
'priority' => $priority
) );
}
// image
function bard_image_control( $section, $id, $name, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => bard_options( $section .'_'. $id),
'type' => 'option',
'transport' => $transport,
'sanitize_callback' => 'esc_url_raw'
) );
$wp_customize->add_control(
new WP_Customize_Image_Control( $wp_customize, 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'priority' => $priority
)
) );
}
// Image Crop
function bard_image_crop_control( $section, $id, $name, $width, $height, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => '',
'type' => 'option',
'transport' => $transport,
'sanitize_callback' => 'bard_sanitize_number_absint'
) );
$wp_customize->add_control(
new WP_Customize_Cropped_Image_Control( $wp_customize, 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'flex_width' => false,
'flex_height' => false,
'width' => $width,
'height' => $height,
'priority' => $priority
)
) );
}
// Image Crop Flex
function bard_image_crop_flex_control( $section, $id, $name, $width, $height, $transport, $priority ) {
global $wp_customize;
$wp_customize->add_setting( 'bard_options['. $section .'_'. $id .']', array(
'default' => '',
'type' => 'option',
'transport' => $transport,
'sanitize_callback' => 'bard_sanitize_number_absint'
) );
$wp_customize->add_control(
new WP_Customize_Cropped_Image_Control( $wp_customize, 'bard_options['. $section .'_'. $id .']', array(
'label' => $name,
'section' => 'bard_'. $section,
'flex_width' => true,
'flex_height' => true,
'width' => $width,
'height' => $height,
'priority' => $priority
)
) );
}
// Pro Version
class Bard_Customize_Pro_Version extends WP_Customize_Control {
public $type = 'pro_options';
public function render_content() {
echo 'Want more '. esc_html( $this->label ) .'?';
echo '';
echo '';
echo ' '. esc_html__( 'See Bard PRO', 'bard' ) .'';
echo '';
}
}
// Pro Version Links
class Bard_Customize_Pro_Version_Links extends WP_Customize_Control {
public $type = 'pro_links';
public function render_content() {
?>
add_section( 'bard_pro' , array(
'title' => esc_html__( 'About Bard', 'bard' ),
'priority' => 1,
'capability' => 'edit_theme_options'
) );
// Pro Version
$wp_customize->add_setting( 'pro_version_', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version_Links ( $wp_customize,
'pro_version_', array(
'section' => 'bard_pro',
'type' => 'pro_links',
'label' => '',
'priority' => 1
)
)
);
/*
** Colors =====
*/
// add Colors section
$wp_customize->add_section( 'bard_colors' , array(
'title' => esc_html__( 'Colors', 'bard' ),
'priority' => 1,
'capability' => 'edit_theme_options'
) );
// Content Accent
bard_color_control( 'colors', 'content_accent', esc_html__( 'Accent', 'bard' ), 'postMessage', 3 );
// Header Text Color
$wp_customize->get_control( 'header_textcolor' )->section = 'bard_colors';
$wp_customize->get_control( 'header_textcolor' )->priority = 6;
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
// Header Text Hover Color
bard_color_control( 'colors', 'header_text_hover', esc_html__( 'Header Text Hover Color', 'bard' ), 'postMessage', 7 );
// Header Background
bard_color_control( 'colors', 'header_bg', esc_html__( 'Header Background', 'bard' ), 'postMessage', 9 );
// Body Background
$wp_customize->get_control( 'background_color' )->section = 'bard_colors';
$wp_customize->get_control( 'background_color' )->priority = 12;
$wp_customize->get_control( 'background_color' )->label = 'Body Background Color';
$wp_customize->get_control( 'background_image' )->section = 'bard_colors';
$wp_customize->get_control( 'background_image' )->priority = 15;
$wp_customize->get_control( 'background_preset' )->section = 'bard_colors';
$wp_customize->get_control( 'background_preset' )->priority = 18;
$wp_customize->get_control( 'background_position' )->section = 'bard_colors';
$wp_customize->get_control( 'background_position' )->priority = 21;
$wp_customize->get_control( 'background_size' )->section = 'bard_colors';
$wp_customize->get_control( 'background_size' )->priority = 23;
$wp_customize->get_control( 'background_repeat' )->section = 'bard_colors';
$wp_customize->get_control( 'background_repeat' )->priority = 25;
$wp_customize->get_control( 'background_attachment' )->section = 'bard_colors';
$wp_customize->get_control( 'background_attachment' )->priority = 27;
// Pro Version
$wp_customize->add_setting( 'pro_version_colors', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version ( $wp_customize,
'pro_version_colors', array(
'section' => 'bard_colors',
'type' => 'pro_options',
'label' => esc_html__( 'Colors', 'bard' ),
'description' => esc_html( 'https://wp-royal.com/themes/item-bard-pro/?ref=bard-free-colors-customizer#!/bard-pro-page-colors' ),
'priority' => 100
)
)
);
/*
** General Layouts =====
*/
// add General Layouts section
$wp_customize->add_section( 'bard_general' , array(
'title' => esc_html__( 'General Layouts', 'bard' ),
'priority' => 3,
'capability' => 'edit_theme_options'
) );
// Sidebar Width
bard_number_absint_control( 'general', 'sidebar_width', esc_html__( 'Sidebar Width', 'bard' ), array( 'step' => '1' ), 'refresh', 3 );
// Sticky Sidebar
bard_checkbox_control( 'general', 'sidebar_sticky', esc_html__( 'Enable Sticky Sidebar', 'bard' ), 'refresh', 5 );
// Page Layout Combinations
$page_layouts = array(
'col2-rsidebar' => esc_html__( '2 Columns', 'bard' ),
'list-rsidebar' => esc_html__( 'List Style', 'bard' ),
);
// Blog Page Layout
bard_select_control( 'general', 'home_layout', esc_html__( 'Blog Page', 'bard' ), $page_layouts, 'refresh', 13 );
$boxed_width = array(
'full' => esc_html__( 'Full', 'bard' ),
'contained' => esc_html__( 'Contained', 'bard' ),
'boxed' => esc_html__( 'Boxed', 'bard' ),
);
// Header Width
bard_select_control( 'general', 'header_width', esc_html__( 'Header Width', 'bard' ), $boxed_width, 'refresh', 25 );
$boxed_width_slider = array(
'full' => esc_html__( 'Full', 'bard' ),
'boxed' => esc_html__( 'Boxed', 'bard' ),
);
// Slider Width
bard_select_control( 'general', 'slider_width', esc_html__( 'Featured Slider Width', 'bard' ), $boxed_width_slider, 'refresh', 27 );
// Featured Links Width
bard_select_control( 'general', 'links_width', esc_html__( 'Featured Links Width', 'bard' ), $boxed_width_slider, 'refresh', 28 );
// Content Width
bard_select_control( 'general', 'content_width', esc_html__( 'Content Width', 'bard' ), $boxed_width_slider, 'refresh', 29 );
// Single Content Width
bard_select_control( 'general', 'single_width', esc_html__( 'Single Content Width', 'bard' ), $boxed_width_slider, 'refresh', 31 );
// Footer Width
bard_select_control( 'general', 'footer_width', esc_html__( 'Footer Width', 'bard' ), $boxed_width, 'refresh', 33 );
// Pro Version
$wp_customize->add_setting( 'pro_version_general_layouts', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version ( $wp_customize,
'pro_version_general_layouts', array(
'section' => 'bard_general',
'type' => 'pro_options',
'label' => esc_html__( 'Layout Options', 'bard' ),
'description' => esc_html( 'https://wp-royal.com/themes/item-bard-pro/?ref=bard-free-general-layouts-customizer#!/bard-pro-page-layouts' ),
'priority' => 100
)
)
);
/*
** Top Bar =====
*/
// add Top Bar section
$wp_customize->add_section( 'bard_top_bar' , array(
'title' => esc_html__( 'Top Bar', 'bard' ),
'priority' => 5,
'capability' => 'edit_theme_options'
) );
// Top Bar label
bard_checkbox_control( 'top_bar', 'label', esc_html__( 'Top Bar', 'bard' ), 'refresh', 1 );
/*
** Header Image =====
*/
$wp_customize->get_section( 'header_image' )->priority = 10;
// Page Header label
bard_checkbox_control( 'header_image', 'label', esc_html__( 'Page Header', 'bard' ), 'refresh', 1 );
$bg_image_size = array(
'cover' => esc_html__( 'Cover', 'bard' ),
'initial' => esc_html__( 'Pattern', 'bard' )
);
// Background Image Size
bard_radio_control( 'header_image', 'bg_image_size', esc_html__( 'Background Image Size', 'bard' ), $bg_image_size, 'refresh', 10 );
// Enable Parallax
bard_checkbox_control( 'header_image', 'parallax', esc_html__( 'Enable Parallax Scrolling', 'bard' ), 'refresh', 19 );
// Pro Version
$wp_customize->add_setting( 'pro_version_header', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new bard_Customize_Pro_Version ( $wp_customize,
'pro_version_header', array(
'section' => 'header_image',
'type' => 'pro_options',
'label' => esc_html__( 'Header Options', 'bard' ),
'description' => esc_html( 'wp-royal.com/themes/bard/customizer/free/header-image2.html?ref=bard-free-header-customizer' ),
'priority' => 100
)
)
);
/*
** Site Identity =====
*/
// Logo Width
bard_number_absint_control( 'title_tagline', 'logo_width', esc_html__( 'Width', 'bard' ), array( 'step' => '10' ), 'postMessage', 8 );
$wp_customize->get_control( 'custom_logo' )->transport = 'selective_refresh';
// Show Social Icons
bard_checkbox_control( 'title_tagline', 'show_socials', esc_html__( 'Show Social Icons', 'bard' ), 'refresh', 50 );
// Pro Version
$wp_customize->add_setting( 'pro_version_logo', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new bard_Customize_Pro_Version ( $wp_customize,
'pro_version_logo', array(
'section' => 'title_tagline',
'type' => 'pro_options',
'label' => esc_html__( 'Logo Options', 'bard' ),
'description' => esc_html( 'http://wp-royal.com/themes/bard/customizer/free/typography-logo.html?ref=bard-free-site-identity-customizer' ),
'priority' => 55
)
)
);
/*
** Main Navigation =====
*/
// add Main Navigation section
$wp_customize->add_section( 'bard_main_nav' , array(
'title' => esc_html__( 'Main Navigation', 'bard' ),
'priority' => 23,
'capability' => 'edit_theme_options'
) );
// Main Navigation
bard_checkbox_control( 'main_nav', 'label', esc_html__( 'Main Navigation', 'bard' ), 'refresh', 1 );
$main_nav_align = array(
'left' => esc_html__( 'Left', 'bard' ),
'center' => esc_html__( 'Center', 'bard' ),
'right' => esc_html__( 'Right', 'bard' )
);
// Align
bard_select_control( 'main_nav', 'align', esc_html__( 'Align', 'bard' ), $main_nav_align, 'refresh', 7 );
// Show Sidebar Icon
bard_checkbox_control( 'main_nav', 'show_sidebar', esc_html__( 'Show Sidebar Icon', 'bard' ), 'refresh', 11 );
// Show Random Post Icons
bard_checkbox_control( 'main_nav', 'show_random_btn', esc_html__( 'Show Random Post Icon', 'bard' ), 'refresh', 13 );
// Show Search Icon
bard_checkbox_control( 'main_nav', 'show_search', esc_html__( 'Show Search Icon', 'bard' ), 'refresh', 15 );
// Merge to Responsive Menu
bard_checkbox_control( 'main_nav', 'merge_menu', esc_html__( 'Merge Top and Main Menus', 'bard' ), 'refresh', 17 );
/*
** Featured Slider =====
*/
// add featured slider section
$wp_customize->add_section( 'bard_featured_slider' , array(
'title' => esc_html__( 'Featured Slider', 'bard' ),
'priority' => 25,
'capability' => 'edit_theme_options'
) );
// Featured Slider
bard_checkbox_control( 'featured_slider', 'label', esc_html__( 'Featured Slider', 'bard' ), 'refresh', 1 );
$slider_display = array(
'all' => 'All Posts',
'category' => 'by Post Category'
);
// Display
bard_select_control( 'featured_slider', 'display', esc_html__( 'Display Posts', 'bard' ), $slider_display, 'refresh', 2 );
$slider_cats = array();
foreach ( get_categories() as $categories => $category ) {
$slider_cats[$category->term_id] = $category->name;
}
// Category
bard_select_control( 'featured_slider', 'category', esc_html__( 'Select Category', 'bard' ), $slider_cats, 'refresh', 3 );
// Amount
bard_number_absint_control( 'featured_slider', 'amount', esc_html__( 'Number of Slides', 'bard' ), array( 'step' => '1', 'max' => '3' ), 'refresh', 10 );
$slider_culumns = array( 'step' => '1', 'min' => '1', 'max' => '4' );
// Navigation
$slider_navigation = array(
'off' => esc_html__( 'Off', 'bard' ),
'on' => esc_html__( 'On', 'bard' ),
);
bard_select_control( 'featured_slider', 'navigation', esc_html__( 'Show Navigation Arrows', 'bard' ), $slider_navigation, 'refresh', 25 );
// Pagination
bard_checkbox_control( 'featured_slider', 'pagination', esc_html__( 'Show Pagination Dots', 'bard' ), 'refresh', 30 );
// Pro Version
$wp_customize->add_setting( 'pro_version_featured_slider', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version ( $wp_customize,
'pro_version_featured_slider', array(
'section' => 'bard_featured_slider',
'type' => 'pro_options',
'label' => esc_html__( 'Slider Options ', 'bard' ),
'description' => esc_html( 'https://wp-royal.com/themes/item-bard-pro/?ref=bard-free-general-layouts-customizer#!/bard-pro-page-sliders' ),
'priority' => 100
)
)
);
/*
** Featured Links =====
*/
// add featured links section
$wp_customize->add_section( 'bard_featured_links' , array(
'title' => esc_html__( 'Featured Links', 'bard' ),
'priority' => 27,
'capability' => 'edit_theme_options'
) );
// Featured Links
bard_checkbox_control( 'featured_links', 'label', esc_html__( 'Featured Links', 'bard' ), 'refresh', 1 );
// Link #1 Title
bard_text_control( 'featured_links', 'title_1', esc_html__( 'Title', 'bard' ), 'refresh', 9 );
// Link #1 URL
bard_url_control( 'featured_links', 'url_1', esc_html__( 'URL', 'bard' ), 'refresh', 11 );
// Link #1 Image
bard_image_crop_control( 'featured_links', 'image_1', esc_html__( 'Image', 'bard' ), 800, 490, 'refresh', 13 );
// Link #2 Title
bard_text_control( 'featured_links', 'title_2', esc_html__( 'Title', 'bard' ), 'refresh', 15 );
// Link #2 URL
bard_url_control( 'featured_links', 'url_2', esc_html__( 'URL', 'bard' ), 'refresh', 17 );
// Link #2 Image
bard_image_crop_control( 'featured_links', 'image_2', esc_html__( 'Image', 'bard' ), 800, 490, 'refresh', 19 );
// Link #3 Title
bard_text_control( 'featured_links', 'title_3', esc_html__( 'Title', 'bard' ), 'refresh', 21 );
// Link #3 URL
bard_url_control( 'featured_links', 'url_3', esc_html__( 'URL', 'bard' ), 'refresh', 23 );
// Link #3 Image
bard_image_crop_control( 'featured_links', 'image_3', esc_html__( 'Image', 'bard' ), 800, 490, 'refresh', 25 );
/*
** Blog Page =====
*/
// add Blog Page section
$wp_customize->add_section( 'bard_blog_page' , array(
'title' => esc_html__( 'Blog Page', 'bard' ),
'priority' => 29,
'capability' => 'edit_theme_options'
) );
// Full Width Post
bard_checkbox_control( 'blog_page', 'full_width_post', esc_html__( 'Make First Post Full Width', 'bard' ), 'refresh', 1 );
$post_description = array(
'none' => esc_html__( 'None', 'bard' ),
'excerpt' => esc_html__( 'Post Excerpt', 'bard' ),
'content' => esc_html__( 'Post Content', 'bard' ),
);
// Post Description
bard_select_control( 'blog_page', 'post_description', esc_html__( 'Post Description', 'bard' ), $post_description, 'refresh', 3 );
$post_pagination = array(
'default' => esc_html__( 'Default', 'bard' ),
'numeric' => esc_html__( 'Numeric', 'bard' ),
);
// Post Pagination
bard_select_control( 'blog_page', 'post_pagination', esc_html__( 'Post Pagination', 'bard' ), $post_pagination, 'refresh', 5 );
// Show Categories
bard_checkbox_control( 'blog_page', 'show_categories', esc_html__( 'Show Categories', 'bard' ), 'refresh', 6 );
// Show Date
bard_checkbox_control( 'blog_page', 'show_date', esc_html__( 'Show Date', 'bard' ), 'refresh', 7 );
// Show Comments
bard_checkbox_control( 'blog_page', 'show_comments', esc_html__( 'Show Comments', 'bard' ), 'refresh', 9 );
// Show Drop Caps
bard_checkbox_control( 'blog_page', 'show_dropcaps', esc_html__( 'Show Drop Caps', 'bard' ), 'refresh', 11 );
// Show Author
bard_checkbox_control( 'blog_page', 'show_author', esc_html__( 'Show Author', 'bard' ), 'refresh', 16 );
$related_posts = array(
'none' => esc_html__( 'None', 'bard' ),
'related' => esc_html__( 'Related', 'bard' ),
'random' => esc_html__( 'Random', 'bard' ),
);
// Related Posts Orderby
bard_select_control( 'blog_page', 'related_orderby', esc_html__( 'Related Posts - Display', 'bard' ), $related_posts, 'refresh', 33 );
// Pro Version
$wp_customize->add_setting( 'pro_version_blog_page', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version ( $wp_customize,
'pro_version_blog_page', array(
'section' => 'bard_blog_page',
'type' => 'pro_options',
'label' => esc_html__( 'Blog Options ', 'bard' ),
'description' => esc_html( 'https://wp-royal.com/themes/item-bard-pro/?ref=bard-free-general-layouts-customizer#!/bard-pro-page-layouts' ),
'priority' => 100
)
)
);
/*
** Single Post =====
*/
// add single post section
$wp_customize->add_section( 'bard_single_page' , array(
'title' => esc_html__( 'Single Post', 'bard' ),
'priority' => 31,
'capability' => 'edit_theme_options'
) );
// Show Categories
bard_checkbox_control( 'single_page', 'show_categories', esc_html__( 'Show Categories', 'bard' ), 'refresh', 5 );
// Show Date
bard_checkbox_control( 'single_page', 'show_date', esc_html__( 'Show Date', 'bard' ), 'refresh', 7 );
// Show Comments
bard_checkbox_control( 'single_page', 'show_comments', esc_html__( 'Show Comments', 'bard' ), 'refresh', 10 );
// Show Drop Caps
bard_checkbox_control( 'single_page', 'show_dropcaps', esc_html__( 'Show Drop Caps', 'bard' ), 'refresh', 13 );
// Show Author
bard_checkbox_control( 'single_page', 'show_author', esc_html__( 'Show Author', 'bard' ), 'refresh', 15 );
// Show Author Description
bard_checkbox_control( 'single_page', 'show_author_desc', esc_html__( 'Show Author Description', 'bard' ), 'refresh', 18 );
// Related Posts Orderby
bard_select_control( 'single_page', 'related_orderby', esc_html__( 'Related Posts - Display', 'bard' ), $related_posts, 'refresh', 23 );
/*
** Social Media =====
*/
// add social media section
$wp_customize->add_section( 'bard_social_media' , array(
'title' => esc_html__( 'Social Media', 'bard' ),
'priority' => 33,
'capability' => 'edit_theme_options'
) );
// Social Window
bard_checkbox_control( 'social_media', 'window', esc_html__( 'Open Social Links in New Window ', 'bard' ), 'refresh', 1 );
// Social Icons Array
$social_icons = array(
'facebook-f' => 'Facebook 1',
'facebook' => 'Facebook 2',
'twitter' => 'Twitter 1',
'twitter-square' => 'Twitter 2',
'instagram' => 'Instagram',
'google' => 'Google',
'google-plus-g' => 'Google Plus',
'linkedin-in' => 'Linkedin 1',
'linkedin' => 'Linkedin 2',
'pinterest' => 'Pinterest 1',
'pinterest-p' => 'Pinterest 2',
'pinterest-square' => 'Pinterest 3',
'behance' => 'Behance 1',
'behance-square' => 'Behance 2',
'tumblr' => 'Tumblr 1',
'tumblr-square' => 'Tumblr 2',
'reddit' => 'Reddit 1',
'reddit-alien' => 'Reddit 2',
'reddit-square' => 'Reddit 3',
'dribbble' => 'Dribbble',
'vk' => 'vKontakte',
'odnoklassniki' => 'Odnoklassniki',
'skype' => 'Skype',
'film' => 'Film',
'youtube' => 'Youtube 1',
'youtube-square' => 'Youtube 2',
'vimeo-v' => 'Vimeo 1',
'vimeo' => 'Vimeo 2',
'soundcloud' => 'Soundcloud',
'flickr' => 'Flickr',
'rss' => 'RSS',
'heart' => 'Heart',
'info' => 'Info 1',
'info-circle' => 'Info 2',
'github' => 'Github 1',
'github-alt' => 'Github 2',
'github-square' => 'Github 3',
'stack-overflow' => 'Stack Overflow',
'qq' => 'QQ',
'weibo' => 'Weibo',
'weixin' => 'Weixin',
'xing' => 'Xing 1',
'xing-square' => 'Xing 2',
'gamepad' => 'Gamepad',
'medium' => 'Medium',
'map-marker-alt' => 'Map Marker',
'envelope' => 'Envelope',
'etsy' => 'Etsy',
'snapchat' => 'Snapchat 1',
'snapchat-ghost' => 'Snapchat 2',
'snapchat-square' => 'Snapchat 3',
'spotify' => 'Spotify',
'shopping-cart' => 'Cart',
'meetup' => 'Meetup',
'book' => 'Book',
'tablet-alt' => 'Tablet',
'amazon' => 'Amazon',
'paypal' => 'PayPal 1',
'cc-paypal' => 'PayPal 2',
'credit-card' => 'Credit Card',
'cc-visa' => 'Visa Card',
'goodreads' => 'Goodreads 1',
'goodreads-g' => 'Goodreads 2',
);
// Social #1 Icon
bard_select_control( 'social_media', 'icon_1', esc_html__( 'Select Icon', 'bard' ), $social_icons, 'refresh', 3 );
// Social #1 Icon
bard_url_control( 'social_media', 'url_1', esc_html__( 'URL', 'bard' ), 'refresh', 5 );
// Social #1 Title
bard_text_control( 'social_media', 'title_1', esc_html__( 'Title', 'bard' ), 'refresh', 7 );
// Social #2 Icon
bard_select_control( 'social_media', 'icon_2', esc_html__( 'Select Icon', 'bard' ), $social_icons, 'refresh', 9 );
// Social #2 Icon
bard_url_control( 'social_media', 'url_2', esc_html__( 'URL', 'bard' ), 'refresh', 11 );
// Social #2 Title
bard_text_control( 'social_media', 'title_2', esc_html__( 'Title', 'bard' ), 'refresh', 13 );
// Social #3 Icon
bard_select_control( 'social_media', 'icon_3', esc_html__( 'Select Icon', 'bard' ), $social_icons, 'refresh', 15 );
// Social #3 Icon
bard_url_control( 'social_media', 'url_3', esc_html__( 'URL', 'bard' ), 'refresh', 17 );
// Social #3 Title
bard_text_control( 'social_media', 'title_3', esc_html__( 'Title', 'bard' ), 'refresh', 19 );
// Social #4 Icon
bard_select_control( 'social_media', 'icon_4', esc_html__( 'Select Icon', 'bard' ), $social_icons, 'refresh', 21 );
// Social #4 Icon
bard_url_control( 'social_media', 'url_4', esc_html__( 'URL', 'bard' ), 'refresh', 23 );
// Social #4 Title
bard_text_control( 'social_media', 'title_4', esc_html__( 'Title', 'bard' ), 'refresh', 25 );
/*
** Typography =====
*/
// add Typography section
$wp_customize->add_section( 'bard_typography' , array(
'title' => esc_html__( 'Typography', 'bard' ),
'priority' => 34,
'capability' => 'edit_theme_options'
) );
$font_family = array(
'Arizonia' => esc_html__( 'Arizonia', 'bard' ),
'Open+Sans' => esc_html__( 'Open Sans', 'bard' ),
'Rokkitt' => esc_html__( 'Rokkitt', 'bard' ),
'Kalam' => esc_html__( 'Kalam', 'bard' )
);
// Logo Font Family
bard_select_control( 'typography', 'logo_family', esc_html__( 'Font Family', 'bard' ), $font_family, 'refresh', 1 );
// Navigation Font Family
bard_select_control( 'typography', 'nav_family', esc_html__( 'Font Family', 'bard' ), $font_family, 'refresh', 5 );
// Italic
bard_checkbox_control( 'typography', 'nav_italic', esc_html__( 'Italic', 'bard' ), 'postMessage', 7 );
// Uppercase
bard_checkbox_control( 'typography', 'nav_uppercase', esc_html__( 'Uppercase', 'bard' ), 'postMessage', 9 );
// Pro Version
$wp_customize->add_setting( 'pro_version_typography', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new bard_Customize_Pro_Version ( $wp_customize,
'pro_version_typography', array(
'section' => 'bard_typography',
'type' => 'pro_options',
'label' => esc_html__( 'Typography Options', 'bard' ),
'description' => esc_html( 'wp-royal.com/themes/bard/customizer/free/typography-logo.html?ref=bard-free-typography-customizer' ),
'priority' => 10
)
)
);
/*
** Page Footer =====
*/
// add page footer section
$wp_customize->add_section( 'bard_page_footer' , array(
'title' => esc_html__( 'Page Footer', 'bard' ),
'priority' => 35,
'capability' => 'edit_theme_options'
) );
// Logo Upload
bard_image_crop_flex_control( 'page_footer', 'logo', esc_html__( 'Logo Upload', 'bard' ), 600, 350, 'refresh', 1 );
// Show Socials
bard_checkbox_control( 'page_footer', 'show_socials', esc_html__( 'Show Social Icons', 'bard' ), 'refresh', 3 );
// Show Scroll-Top Button
bard_checkbox_control( 'page_footer', 'show_scrolltop', esc_html__( 'Show Scroll-Top Button', 'bard' ), 'refresh', 5 );
$copyright_description = 'Enter $year to update the year automatically and $copy for the copyright symbol.
Example: $year Bard Theme $copy.';
// Copyright
bard_textarea_control( 'page_footer', 'copyright', esc_html__( 'Your Copyright Text', 'bard' ), $copyright_description, 'refresh', 5 );
// Pro Version
$wp_customize->add_setting( 'pro_version_page_footer', array(
'sanitize_callback' => 'bard_sanitize_custom_control'
) );
$wp_customize->add_control( new Bard_Customize_Pro_Version ( $wp_customize,
'pro_version_page_footer', array(
'section' => 'bard_page_footer',
'type' => 'pro_options',
'label' => esc_html__( 'Footer Options', 'bard' ),
'description' => esc_html( 'wp-royal.com/themes/bard/customizer/free/page-footer.html?ref=bard-free-page-footer-customizer' ),
'priority' => 100
)
)
);
/*
** Preloader =====
*/
// add Preloader section
$wp_customize->add_section( 'bard_preloader' , array(
'title' => esc_html__( 'Preloader', 'bard' ),
'priority' => 45,
'capability' => 'edit_theme_options'
) );
// Preloading Animation
bard_checkbox_control( 'preloader', 'label', esc_html__( 'Preloading Animation', 'bard' ), 'refresh', 1 );
}
add_action( 'customize_register', 'bard_customize_register' );
/*
** Bind JS handlers to instantly live-preview changes
*/
function bard_customize_preview_js() {
wp_enqueue_script( 'bard-customize-preview', get_theme_file_uri( '/inc/customizer/js/customize-preview.js' ), array( 'customize-preview' ), '1.0', true );
}
add_action( 'customize_preview_init', 'bard_customize_preview_js' );
/*
** Load dynamic logic for the customizer controls area.
*/
function bard_panels_js() {
wp_enqueue_style( 'bard-customizer-ui-css', get_theme_file_uri( '/inc/customizer/css/customizer-ui.css' ) );
wp_enqueue_script( 'bard-customize-controls', get_theme_file_uri( '/inc/customizer/js/customize-controls.js' ), array(), '1.0', true );
}
add_action( 'customize_controls_enqueue_scripts', 'bard_panels_js' );