You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1156 lines
30 KiB
1156 lines
30 KiB
<?php
|
|
/**
|
|
* Cordero Theme Customizer
|
|
*
|
|
* @package Cordero
|
|
*/
|
|
|
|
/**
|
|
* @param WP_Customize_Manager $wp_customize Theme Customizer object
|
|
*/
|
|
function cordero_customize_register( $wp_customize ) {
|
|
$wp_customize->get_setting('blogname')->transport = 'postMessage';
|
|
$wp_customize->get_setting('blogdescription')->transport = 'postMessage';
|
|
$wp_customize->get_setting('custom_logo')->transport = 'postMessage';
|
|
|
|
$wp_customize->add_setting(
|
|
'logo_transparent_header',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'absint',
|
|
)
|
|
);
|
|
$cordero_custom_logo_args = get_theme_support( 'custom-logo' );
|
|
$wp_customize->add_control(
|
|
new WP_Customize_Cropped_Image_Control(
|
|
$wp_customize,
|
|
'logo_transparent_header',
|
|
array(
|
|
'label' => esc_html__( 'Logo - Transparent Header', 'cordero' ),
|
|
'description' => esc_html__( 'The logo on the **Transparent Header** page template. If empty, main logo is displayed.', 'cordero' ),
|
|
'section' => 'title_tagline',
|
|
'priority' => 9,
|
|
'height' => isset( $cordero_custom_logo_args[0]['height'] ) ? $cordero_custom_logo_args[0]['height'] : null,
|
|
'width' => isset( $cordero_custom_logo_args[0]['width'] ) ? $cordero_custom_logo_args[0]['width'] : null,
|
|
'flex_height' => isset( $cordero_custom_logo_args[0]['flex-height'] ) ? $cordero_custom_logo_args[0]['flex-height'] : null,
|
|
'flex_width' => isset( $cordero_custom_logo_args[0]['flex-width'] ) ? $cordero_custom_logo_args[0]['flex-width'] : null,
|
|
'button_labels' => array(
|
|
'select' => esc_html__( 'Select logo', 'cordero' ),
|
|
'change' => esc_html__( 'Change logo', 'cordero' ),
|
|
'remove' => esc_html__( 'Remove', 'cordero' ),
|
|
'default' => esc_html__( 'Default', 'cordero' ),
|
|
'placeholder' => esc_html__( 'No logo selected', 'cordero' ),
|
|
'frame_title' => esc_html__( 'Select logo', 'cordero' ),
|
|
'frame_button' => esc_html__( 'Choose logo', 'cordero' ),
|
|
),
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'hide_tagline',
|
|
array(
|
|
'default' => 0,
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'hide_tagline',
|
|
array(
|
|
'settings' => 'hide_tagline',
|
|
'section' => 'title_tagline',
|
|
'label' => esc_html__( 'Hide Tagline', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'site_title_style',
|
|
array(
|
|
'default' => 'border',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'site_title_style',
|
|
array(
|
|
'label' => esc_html__( 'Site Title Style', 'cordero' ),
|
|
'description' => esc_html__( 'Applies to textual Site Title only, not custom logo.', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'title_tagline',
|
|
'choices' => array(
|
|
'border' => esc_html__( 'With Border', 'cordero' ),
|
|
'stfls' => esc_html__( 'Highlight 1st Letter', 'cordero' ),
|
|
'background' => esc_html__( 'With Background', 'cordero' ),
|
|
'no-styling' => esc_html__( 'No Styling', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'heading_schema',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_schema',
|
|
array(
|
|
'settings' => 'heading_schema',
|
|
'section' => 'title_tagline',
|
|
'label' => esc_html__( 'Schema Markup', 'cordero' ),
|
|
'priority' => 100
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'schema_off',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'schema_off',
|
|
array(
|
|
'settings' => 'schema_off',
|
|
'section' => 'title_tagline',
|
|
'label' => esc_html__( 'Remove Schema Tags', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
'priority' => 101
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'header_image_helper',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Small(
|
|
$wp_customize,
|
|
'header_image_helper',
|
|
array(
|
|
'settings' => 'header_image_helper',
|
|
'section' => 'header_image',
|
|
'label' => esc_html__( 'Note: header image is not displayed on the **Transparent Header** page template.', 'cordero' )
|
|
)
|
|
)
|
|
);
|
|
|
|
cordero_customizer_controls();
|
|
|
|
// Section - Layout Options
|
|
$wp_customize->add_setting(
|
|
'heading_header',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_header',
|
|
array(
|
|
'settings' => 'heading_header',
|
|
'section' => 'layout_options',
|
|
'label' => esc_html__( 'Header', 'cordero' ),
|
|
'priority' => 20
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'header_layout',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'cordero_sanitize_radio_select'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Image_Radio_Control(
|
|
$wp_customize,
|
|
'header_layout',
|
|
array(
|
|
'type' => 'radio',
|
|
'label' => esc_html__( 'Layout', 'cordero' ),
|
|
'section' => 'layout_options',
|
|
'settings' => 'header_layout',
|
|
'priority' => 21,
|
|
'choices' => array(
|
|
'' => esc_url( get_template_directory_uri() ) . '/images/header-standard.png',
|
|
'logo-below' => esc_url( get_template_directory_uri() ) . '/images/header-logo-below.png',
|
|
'logo-left' => esc_url( get_template_directory_uri() ) . '/images/header-logo-left.png',
|
|
'logo-right' => esc_url( get_template_directory_uri() ) . '/images/header-logo-right.png',
|
|
'masthead-left' => esc_url( get_template_directory_uri() ) . '/images/header-masthead-left.png',
|
|
)
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'sticky_header_off',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'sticky_header_off',
|
|
array(
|
|
'settings' => 'sticky_header_off',
|
|
'section' => 'layout_options',
|
|
'label' => esc_html__( 'Disable Fixed Header', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
'priority' => 22,
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'heading_sidebar',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_sidebar',
|
|
array(
|
|
'settings' => 'heading_sidebar',
|
|
'section' => 'layout_options',
|
|
'label' => esc_html__( 'Sidebar', 'cordero' ),
|
|
'priority' => 30,
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'sidebar_position',
|
|
array(
|
|
'default' => 'right',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'sidebar_position',
|
|
array(
|
|
'label' => esc_html__( 'Position', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'layout_options',
|
|
'choices' => array(
|
|
'left' => esc_html__( 'Left', 'cordero' ),
|
|
'right' => esc_html__( 'Right', 'cordero' ),
|
|
'below' => esc_html__( 'Bottom (below content)', 'cordero' ),
|
|
),
|
|
'priority' => 31,
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'heading_footer',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_footer',
|
|
array(
|
|
'settings' => 'heading_footer',
|
|
'section' => 'layout_options',
|
|
'label' => esc_html__( 'Footer', 'cordero' ),
|
|
'priority' => 40,
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'footer_layout',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'cordero_sanitize_radio_select'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Image_Radio_Control(
|
|
$wp_customize,
|
|
'footer_layout',
|
|
array(
|
|
'type' => 'radio',
|
|
'label' => esc_html__( 'Footer Layout', 'cordero' ),
|
|
'section' => 'layout_options',
|
|
'settings' => 'footer_layout',
|
|
'choices' => array(
|
|
'' => esc_url( get_template_directory_uri() ) . '/images/footer-standard.png',
|
|
'info-right' => esc_url( get_template_directory_uri() ) . '/images/footer-info-right.png',
|
|
'centered' => esc_url( get_template_directory_uri() ) . '/images/footer-centered.png',
|
|
'centered-info-below' => esc_url( get_template_directory_uri() ) . '/images/footer-centered-info-below.png',
|
|
),
|
|
'priority' => 41
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'sticky_footer',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'sticky_footer',
|
|
array(
|
|
'settings' => 'sticky_footer',
|
|
'section' => 'layout_options',
|
|
'label' => esc_html__( 'Enable Sticky Footer', 'cordero' ),
|
|
'description' => esc_html__( 'On pages with little or no content, the footer will appear at the bottom of the page.', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
'priority' => 42,
|
|
)
|
|
);
|
|
|
|
|
|
// Section - Blog Options
|
|
$wp_customize->add_setting(
|
|
'heading_blog_archive',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_blog_archive',
|
|
array(
|
|
'settings' => 'heading_blog_archive',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Archives', 'cordero' ),
|
|
'description' => esc_html__( 'Blog page, post archives, related posts', 'cordero' ),
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'blog_columns',
|
|
array(
|
|
'default' => '2',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'blog_columns',
|
|
array(
|
|
'label' => esc_html__( 'Columns (posts per row)', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => array(
|
|
'1' => esc_html__( '1', 'cordero' ),
|
|
'2' => esc_html__( '2', 'cordero' ),
|
|
'3' => esc_html__( '3', 'cordero' ),
|
|
'4' => esc_html__( '4', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'blog_post_style',
|
|
array(
|
|
'default' => 'plain',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'blog_post_style',
|
|
array(
|
|
'label' => esc_html__( 'Post Style', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => array(
|
|
'plain' => esc_html__( 'Plain', 'cordero' ),
|
|
'border' => esc_html__( 'Bordered', 'cordero' ),
|
|
'shadow' => esc_html__( 'Box Shadow', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'blog_post_excerpt',
|
|
array(
|
|
'default' => 'excerpt',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'blog_post_excerpt',
|
|
array(
|
|
'label' => esc_html__( 'Show Excerpt or Full Post', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => array(
|
|
'excerpt' => esc_html__( 'Excerpt', 'cordero' ),
|
|
'full' => esc_html__( 'Full Post', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'excerpt_length',
|
|
array(
|
|
'default' => '20',
|
|
'sanitize_callback' => 'absint'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'excerpt_length',
|
|
array(
|
|
'settings' => 'excerpt_length',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Excerpt Word Length', 'cordero' ),
|
|
'type' => 'number',
|
|
'input_attrs' => array(
|
|
'min' => 1,
|
|
'max' => 255,
|
|
'step' => 1,
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'post_spacing',
|
|
array(
|
|
'default' => 'space-between',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'post_spacing',
|
|
array(
|
|
'label' => esc_html__( 'Post Content Vertical Alignment', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => array(
|
|
'normal' => esc_html__( 'Normal', 'cordero' ),
|
|
'space-between' => esc_html__( 'Space Between', 'cordero' ),
|
|
'space-around' => esc_html__( 'Space Around', 'cordero' ),
|
|
'space-evenly' => esc_html__( 'Space Evenly', 'cordero' ),
|
|
'center' => esc_html__( 'Centered', 'cordero' ),
|
|
'end' => esc_html__( 'Bottom', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_author',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_author',
|
|
array(
|
|
'settings' => 'disable_author',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Author', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_date',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_date',
|
|
array(
|
|
'settings' => 'disable_date',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Date', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_cats',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_cats',
|
|
array(
|
|
'settings' => 'disable_cats',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Categories', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_tags',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_tags',
|
|
array(
|
|
'settings' => 'disable_tags',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Tags', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_readmore',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_readmore',
|
|
array(
|
|
'settings' => 'disable_readmore',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Read More Link', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_img',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_img',
|
|
array(
|
|
'settings' => 'disable_img',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Featured Image', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'readmore_text',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'readmore_text',
|
|
array(
|
|
'settings' => 'readmore_text',
|
|
'section' => 'blog_options',
|
|
'type' => 'text',
|
|
'label' => esc_html__( 'Read More Text', 'cordero' ),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'archive_img_size',
|
|
array(
|
|
'default' => 'large',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'archive_img_size',
|
|
array(
|
|
'label' => esc_html__( 'Featured Image Size', 'cordero' ),
|
|
'description' => esc_html__( 'See: "Settings" > "Media" (or any active plugins that control image sizes)', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => cordero_image_size_options(),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'featured_image',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'esc_url_raw'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new WP_Customize_Image_Control(
|
|
$wp_customize,
|
|
'featured_image',
|
|
array(
|
|
'label' => esc_html__( 'Featured Image Placeholder', 'cordero' ),
|
|
'description' => esc_html__( 'Displays where a post does not have a Featured Image', 'cordero' ),
|
|
'section' => 'blog_options',
|
|
'settings' => 'featured_image',
|
|
)
|
|
)
|
|
);
|
|
|
|
|
|
$wp_customize->add_setting(
|
|
'heading_blog_single',
|
|
array(
|
|
'default' => '',
|
|
'sanitize_callback' => 'sanitize_text_field'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Heading_Large(
|
|
$wp_customize,
|
|
'heading_blog_single',
|
|
array(
|
|
'settings' => 'heading_blog_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Single Posts', 'cordero' ),
|
|
)
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_img_single',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_img_single',
|
|
array(
|
|
'settings' => 'disable_img_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Featured Image', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_author_single',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_author_single',
|
|
array(
|
|
'settings' => 'disable_author_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Author', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_date_single',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_date_single',
|
|
array(
|
|
'settings' => 'disable_date_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Date', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_cats_single',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_cats_single',
|
|
array(
|
|
'settings' => 'disable_cats_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Categories', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_tags_single',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_tags_single',
|
|
array(
|
|
'settings' => 'disable_tags_single',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Tags', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_prevnext',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_prevnext',
|
|
array(
|
|
'settings' => 'disable_prevnext',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Previous and Next Links', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'disable_related',
|
|
array(
|
|
'default' => 0,
|
|
'sanitize_callback' => 'cordero_sanitize_checkbox'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'disable_related',
|
|
array(
|
|
'settings' => 'disable_related',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Remove Related Posts', 'cordero' ),
|
|
'type' => 'checkbox',
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'single_img_size',
|
|
array(
|
|
'default' => 'full',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'single_img_size',
|
|
array(
|
|
'label' => esc_html__( 'Featured Image Size', 'cordero' ),
|
|
'description' => esc_html__( 'See: "Settings" > "Media" (or any active plugins that control image sizes)', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => cordero_image_size_options(),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'related_posts',
|
|
array(
|
|
'default' => '4',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'related_posts',
|
|
array(
|
|
'label' => esc_html__( 'Number of Related Posts', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'blog_options',
|
|
'choices' => array(
|
|
'1' => esc_html__( '1', 'cordero' ),
|
|
'2' => esc_html__( '2', 'cordero' ),
|
|
'3' => esc_html__( '3', 'cordero' ),
|
|
'4' => esc_html__( '4', 'cordero' ),
|
|
'5' => esc_html__( '5', 'cordero' ),
|
|
'6' => esc_html__( '6', 'cordero' ),
|
|
'7' => esc_html__( '7', 'cordero' ),
|
|
'8' => esc_html__( '8', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'reading_width',
|
|
array(
|
|
'default' => '640',
|
|
'sanitize_callback' => 'absint'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'reading_width',
|
|
array(
|
|
'settings' => 'reading_width',
|
|
'section' => 'blog_options',
|
|
'label' => esc_html__( 'Reading View Template Width', 'cordero' ),
|
|
'description' => esc_html__( 'The maximum width of the content when using the **Reading View** post template. Note: will not display wider than the main container.', 'cordero' ),
|
|
'type' => 'number',
|
|
'input_attrs' => array(
|
|
'min' => 100,
|
|
'max' => 1920,
|
|
'step' => 1,
|
|
),
|
|
)
|
|
);
|
|
|
|
|
|
// SECTION - Typography
|
|
$wp_customize->add_section(
|
|
'typography',
|
|
array(
|
|
'title' => esc_html__( 'Typography & Fonts', 'cordero' ),
|
|
'priority' => 42,
|
|
)
|
|
);
|
|
|
|
// Setting - Font - Header
|
|
$wp_customize->add_setting( 'font_site_title', array(
|
|
'default' => 'Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
) );
|
|
$wp_customize->add_control( 'font_site_title', array(
|
|
'label' => esc_html__( 'Site Title', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'typography',
|
|
'choices' => cordero_google_fonts_array(),
|
|
) );
|
|
|
|
// Setting - Font - Navigation
|
|
$wp_customize->add_setting( 'font_nav', array(
|
|
'default' => 'Work Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
) );
|
|
$wp_customize->add_control( 'font_nav', array(
|
|
'label' => esc_html__( 'Navigation', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'typography',
|
|
'choices' => cordero_google_fonts_array(),
|
|
) );
|
|
|
|
// Setting - Font - Content
|
|
$wp_customize->add_setting( 'font_content', array(
|
|
'default' => 'Work Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
) );
|
|
$wp_customize->add_control( 'font_content', array(
|
|
'label' => esc_html__( 'Content', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'typography',
|
|
'choices' => cordero_google_fonts_array(),
|
|
) );
|
|
|
|
// Setting - Font - Headings
|
|
$wp_customize->add_setting( 'font_headings', array(
|
|
'default' => 'Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
) );
|
|
$wp_customize->add_control( 'font_headings', array(
|
|
'label' => esc_html__( 'Headings', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'typography',
|
|
'choices' => cordero_google_fonts_array(),
|
|
) );
|
|
|
|
$wp_customize->add_setting(
|
|
'fs_base',
|
|
array(
|
|
'default' => '16',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'absint'
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'fs_base',
|
|
array(
|
|
'settings' => 'fs_base',
|
|
'section' => 'typography',
|
|
'label' => esc_html__( 'Base Font Size', 'cordero' ),
|
|
'type' => 'number',
|
|
'input_attrs' => array(
|
|
'min' => 10,
|
|
'max' => 40,
|
|
'step' => 1,
|
|
),
|
|
)
|
|
);
|
|
|
|
$wp_customize->add_setting(
|
|
'menu_uppercase',
|
|
array(
|
|
'default' => 'uppercase',
|
|
'transport' => 'postMessage',
|
|
'sanitize_callback' => 'cordero_sanitize_choices',
|
|
)
|
|
);
|
|
$wp_customize->add_control(
|
|
'menu_uppercase',
|
|
array(
|
|
'label' => esc_html__( 'Menu Text Style', 'cordero' ),
|
|
'type' => 'select',
|
|
'section' => 'typography',
|
|
'choices' => array(
|
|
'uppercase' => esc_html__( 'UPPERCASE', 'cordero' ),
|
|
'none' => esc_html__( 'Normal', 'cordero' ),
|
|
),
|
|
)
|
|
);
|
|
|
|
// Section - Go Pro
|
|
$wp_customize->add_section( 'go_pro_sec' , array(
|
|
'title' => esc_html__( 'Go Pro', 'cordero' ),
|
|
'priority' => 1,
|
|
'description' => esc_html__( 'Upgrade to Cordero Pro for even more cool features and customization options.', 'cordero' ),
|
|
) );
|
|
$wp_customize->add_control(
|
|
new Cordero_Customize_Extra_Control(
|
|
$wp_customize,
|
|
'go_pro',
|
|
array(
|
|
'section' => 'go_pro_sec',
|
|
'type' => 'pro-link',
|
|
'label' => esc_html__( 'Go Pro', 'cordero' ),
|
|
'url' => 'https://uxlthemes.com/theme/cordero-pro/',
|
|
'priority' => 10
|
|
)
|
|
)
|
|
);
|
|
|
|
}
|
|
add_action('customize_register', 'cordero_customize_register');
|
|
|
|
|
|
/**
|
|
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
|
|
*/
|
|
function cordero_customize_preview_js() {
|
|
wp_enqueue_script('cordero-customizer-preview', get_template_directory_uri() . '/functions/js/customizer-preview.js', array('customize-preview'), '1.0', true );
|
|
}
|
|
add_action('customize_preview_init', 'cordero_customize_preview_js');
|
|
|
|
|
|
function cordero_customizer_script() {
|
|
wp_enqueue_script('cordero-customizer-script', get_template_directory_uri() .'/functions/js/customizer-script.js', array('jquery'),'', true );
|
|
wp_enqueue_style('cordero-customizer-style', get_template_directory_uri() .'/functions/css/customizer-style.css');
|
|
}
|
|
add_action('customize_controls_enqueue_scripts', 'cordero_customizer_script');
|
|
|
|
|
|
if( class_exists('WP_Customize_Control') ):
|
|
|
|
class Cordero_Image_Radio_Control extends WP_Customize_Control {
|
|
|
|
public function render_content() {
|
|
|
|
if ( empty( $this->choices ) )
|
|
return;
|
|
|
|
$name = '_customize-radio-' . $this->id;
|
|
|
|
?>
|
|
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
|
|
<?php if ( $this->description ) {
|
|
echo '<span class="customize-control-description">' . esc_html( $this->description ) . '</span>';
|
|
}
|
|
?>
|
|
<ul class="controls cordero-img-container" id='cordero-img-container-<?php echo $this->id; ?>'>
|
|
<?php
|
|
foreach ( $this->choices as $value => $label ) :
|
|
$class = ($this->value() == $value)?'cordero-radio-img-selected cordero-radio-img-img':'cordero-radio-img-img';
|
|
?>
|
|
<li>
|
|
<label>
|
|
<input <?php $this->link(); ?>style='display:none' type="radio" value="<?php echo esc_attr( $value ); ?>" name="<?php echo esc_attr( $name ); ?>" <?php $this->link(); checked( $this->value(), $value ); ?> />
|
|
<img src = '<?php echo esc_attr( $label ); ?>' class = '<?php echo esc_attr( $class ); ?>' />
|
|
</label>
|
|
</li>
|
|
<?php
|
|
endforeach;
|
|
?>
|
|
</ul>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
class Cordero_Customize_Heading_Large extends WP_Customize_Control {
|
|
public function render_content() {
|
|
?>
|
|
|
|
<?php if ( !empty( $this->label ) ) : ?>
|
|
<h3 class="cordero-accordion-section-title"><?php echo esc_html( $this->label ); ?></h3>
|
|
<?php endif; ?>
|
|
<?php if ( !empty( $this->description ) ) : ?>
|
|
<p class="cordero-accordion-section-paragraph"><?php echo esc_html( $this->description ); ?></p>
|
|
<?php endif; ?>
|
|
<?php }
|
|
}
|
|
|
|
|
|
class Cordero_Customize_Heading_Small extends WP_Customize_Control {
|
|
public function render_content() {
|
|
?>
|
|
|
|
<?php if ( !empty( $this->label ) ) : ?>
|
|
<h5 class="cordero-accordion-section-title"><?php echo esc_html( $this->label ); ?></h5>
|
|
<?php endif; ?>
|
|
<?php if ( !empty( $this->description ) ) : ?>
|
|
<p class="cordero-accordion-section-paragraph"><?php echo esc_html( $this->description ); ?></p>
|
|
<?php endif; ?>
|
|
<?php }
|
|
}
|
|
|
|
|
|
class Cordero_Customize_Extra_Control extends WP_Customize_Control {
|
|
public $settings = 'blogname';
|
|
public $description = '';
|
|
public $url = '';
|
|
public $group = '';
|
|
|
|
public function render_content() {
|
|
switch ( $this->type ) {
|
|
default:
|
|
|
|
case 'extra':
|
|
echo '<p style="margin-top:40px;">' . sprintf(
|
|
'<a href="%1$s" target="_blank">%2$s</a>',
|
|
esc_url( $this->url ),
|
|
esc_html__( 'More options available', 'cordero' )
|
|
) . '</p>';
|
|
echo '<p class="description" style="margin-top:5px;">' . esc_html( $this->description ) . '</p>';
|
|
break;
|
|
|
|
case 'docs':
|
|
echo sprintf(
|
|
'<a href="%1$s" class="button-primary" target="_blank">%2$s</a>',
|
|
esc_url( $this->url ),
|
|
esc_html__( 'Documentation', 'cordero' )
|
|
);
|
|
break;
|
|
|
|
case 'pro-link':
|
|
echo sprintf(
|
|
'<a href="%1$s" class="button-primary" target="_blank">%2$s</a>',
|
|
esc_url( $this->url ),
|
|
esc_html__( 'Go Pro', 'cordero' )
|
|
);
|
|
break;
|
|
|
|
case 'line' :
|
|
echo '<hr />';
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
endif;
|
|
|
|
|
|
/**
|
|
* Sanitization functions
|
|
*/
|
|
|
|
function cordero_sanitize_checkbox( $input ){
|
|
if ( $input ) {
|
|
$output = '1';
|
|
} else {
|
|
$output = false;
|
|
}
|
|
return $output;
|
|
}
|
|
|
|
|
|
function cordero_sanitize_choices( $input, $setting ) {
|
|
global $wp_customize;
|
|
|
|
$control = $wp_customize->get_control( $setting->id );
|
|
|
|
if ( array_key_exists( $input, $control->choices ) ) {
|
|
return $input;
|
|
} else {
|
|
return $setting->default;
|
|
}
|
|
}
|
|
|
|
|
|
function cordero_sanitize_radio_select( $input, $setting ) {
|
|
// Ensuring that the input is a slug.
|
|
$input = sanitize_key( $input );
|
|
// Get the list of choices from the control associated with the setting.
|
|
$choices = $setting->manager->get_control( $setting->id )->choices;
|
|
// If the input is a valid key, return it, else, return the default.
|
|
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
|
|
}
|
|
|
|
|
|
/**
|
|
* Get registered image sizes
|
|
*/
|
|
function cordero_get_image_sizes() {
|
|
global $_wp_additional_image_sizes;
|
|
|
|
$sizes = array();
|
|
|
|
foreach ( get_intermediate_image_sizes() as $_size ) {
|
|
if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
|
|
$sizes[ $_size ]['width'] = get_option( "{$_size}_size_w" );
|
|
$sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
|
|
$sizes[ $_size ]['crop'] = (bool) get_option( "{$_size}_crop" );
|
|
} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
|
|
$sizes[ $_size ] = array(
|
|
'width' => $_wp_additional_image_sizes[ $_size ]['width'],
|
|
'height' => $_wp_additional_image_sizes[ $_size ]['height'],
|
|
'crop' => $_wp_additional_image_sizes[ $_size ]['crop'],
|
|
);
|
|
}
|
|
}
|
|
|
|
return $sizes;
|
|
}
|
|
|
|
function cordero_image_size_options() {
|
|
$image_size_configs = cordero_get_image_sizes();
|
|
// Hardcoded 'full' because not a registered image size
|
|
// 'full' will result in the original uploaded image size being used
|
|
$sizes = array(
|
|
'full' => esc_html__( 'Full (original full size image)', 'cordero' ),
|
|
);
|
|
foreach( $image_size_configs as $name => $size_config) {
|
|
if ( $size_config['crop'] == 1 ) {
|
|
$hardcrop = esc_html__( '(exact dimensions)', 'cordero' );
|
|
} else {
|
|
$hardcrop = esc_html__( '(proportional)', 'cordero' );
|
|
}
|
|
$sizes[$name] = ucwords(preg_replace('/[-_]/', ' ', $name)) . ' (' . $size_config['width'] . 'x' . $size_config['height'] . ') ' . $hardcrop;
|
|
}
|
|
|
|
return $sizes;
|
|
}
|
|
|