Astra_Customizer_Blog_Pro_Configs
Description
Source
File: addons/blog-pro/classes/sections/class-astra-customizer-blog-pro-configs.php
class Astra_Customizer_Blog_Pro_Configs extends Astra_Customizer_Config_Base {
/**
* Register General Customizer Configurations.
*
* @param Array $configurations Astra Customizer Configurations.
* @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager.
* @since 1.4.3
* @return Array Astra Customizer Configurations with updated configurations.
*/
public function register_configuration( $configurations, $wp_customize ) {
$_configs = array(
/**
* Option: Display Post Meta
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-meta]',
'type' => 'control',
'control' => 'ast-sortable',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_multi_choices' ),
'section' => 'section-blog',
'default' => astra_get_option( 'blog-meta' ),
'priority' => 50,
'title' => __( 'Meta', 'astra-addon' ),
'choices' => array(
'comments' => __( 'Comments', 'astra-addon' ),
'category' => __( 'Category', 'astra-addon' ),
'author' => __( 'Author', 'astra-addon' ),
'date' => __( 'Publish Date', 'astra-addon' ),
'tag' => __( 'Tag', 'astra-addon' ),
'read-time' => __( 'Read Time', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-post-structure]',
'operator' => 'contains',
'value' => 'title-meta',
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Blog Layout
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-layout]',
'type' => 'control',
'control' => 'ast-radio-image',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ),
'section' => 'section-blog',
'default' => astra_get_option( 'blog-layout' ),
'priority' => 5,
'title' => __( 'Layout', 'astra-addon' ),
'choices' => array(
'blog-layout-1' => array(
'label' => __( 'Layout 1', 'astra-addon' ),
'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'blog-layout-1', false ) : '',
),
'blog-layout-2' => array(
'label' => __( 'Layout 2', 'astra-addon' ),
'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'blog-layout-2', false ) : '',
),
'blog-layout-3' => array(
'label' => __( 'Layout 3', 'astra-addon' ),
'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'blog-layout-3', false ) : '',
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Grid Layout
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-grid]',
'type' => 'control',
'control' => 'ast-select',
'section' => 'section-blog',
'default' => astra_get_option( 'blog-grid' ),
'priority' => 10,
'title' => __( 'Grid Layout', 'astra-addon' ),
'choices' => array(
'1' => __( '1 Column', 'astra-addon' ),
'2' => __( '2 Columns', 'astra-addon' ),
'3' => __( '3 Columns', 'astra-addon' ),
'4' => __( '4 Columns', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-layout]',
'operator' => '===',
'value' => 'blog-layout-1',
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Space Between Post
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-space-bet-posts]',
'default' => astra_get_option( 'blog-space-bet-posts' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Add Space Between Posts', 'astra-addon' ),
'transport' => 'postMessage',
'priority' => 15,
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Masonry Effect
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-masonry]',
'default' => astra_get_option( 'blog-masonry' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Masonry Layout', 'astra-addon' ),
'priority' => 20,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-layout]',
'operator' => '===',
'value' => 'blog-layout-1',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-grid]',
'operator' => '!=',
'value' => 1,
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: First Post full width
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[first-post-full-width]',
'default' => astra_get_option( 'first-post-full-width' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Highlight First Post', 'astra-addon' ),
'description' => __( 'This will not work if Masonry Layout is enabled.', 'astra-addon' ),
'priority' => 25,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-layout]',
'operator' => '===',
'value' => 'blog-layout-1',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-grid]',
'operator' => '!=',
'value' => 1,
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Disable Date Box
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-date-box]',
'default' => astra_get_option( 'blog-date-box' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Enable Date Box', 'astra-addon' ),
'priority' => 30,
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Date Box Style
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-date-box-style]',
'default' => astra_get_option( 'blog-date-box-style' ),
'type' => 'control',
'section' => 'section-blog',
'title' => __( 'Date Box Style', 'astra-addon' ),
'control' => Astra_Theme_Extension::$selector_control,
'priority' => 35,
'choices' => array(
'square' => __( 'Square', 'astra-addon' ),
'circle' => __( 'Circle', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-date-box]',
'operator' => '===',
'value' => true,
),
),
'responsive' => false,
'renderAs' => 'text',
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Remove feature image padding
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-featured-image-padding]',
'default' => astra_get_option( 'blog-featured-image-padding' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Remove Featured Image Padding', 'astra-addon' ),
'description' => __( 'This option will not work on full width layouts.', 'astra-addon' ),
'priority' => 40,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-layout]',
'operator' => '===',
'value' => 'blog-layout-1',
),
),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Excerpt Count
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-excerpt-count]',
'default' => astra_get_option( 'blog-excerpt-count' ),
'type' => 'control',
'control' => 'number',
'section' => 'section-blog',
'priority' => 80,
'title' => __( 'Excerpt Count', 'astra-addon' ),
'input_attrs' => array(
'min' => 0,
'step' => 1,
'max' => 3000,
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-post-content]',
'operator' => '===',
'value' => 'excerpt',
),
),
),
/**
* Option: Read more text
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-read-more-text]',
'default' => astra_get_option( 'blog-read-more-text' ),
'type' => 'control',
'section' => 'section-blog',
'priority' => 85,
'title' => __( 'Read More Text', 'astra-addon' ),
'control' => 'text',
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-post-content]',
'operator' => '===',
'value' => 'excerpt',
),
),
),
/**
* Option: Display read more as button
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-read-more-as-button]',
'default' => astra_get_option( 'blog-read-more-as-button' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => 'section-blog',
'title' => __( 'Display Read More as Button', 'astra-addon' ),
'priority' => 90,
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Post Pagination
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-pagination]',
'default' => astra_get_option( 'blog-pagination' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$selector_control,
'section' => 'section-blog',
'priority' => 110,
'title' => __( 'Post Pagination', 'astra-addon' ),
'choices' => array(
'number' => __( 'Number', 'astra-addon' ),
'infinite' => __( 'Infinite Scroll', 'astra-addon' ),
),
'responsive' => false,
'renderAs' => 'text',
'divider' => array( 'ast_class' => 'ast-bottom-divider ast-top-divider' ),
),
/**
* Option: Event to Trigger Infinite Loading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-infinite-scroll-event]',
'default' => astra_get_option( 'blog-infinite-scroll-event' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$selector_control,
'section' => 'section-blog',
'description' => __( 'Infinite Scroll cannot be previewed in the Customizer.', 'astra-addon' ),
'priority' => 112,
'title' => __( 'Event to Trigger Infinite Loading', 'astra-addon' ),
'choices' => array(
'scroll' => __( 'Scroll', 'astra-addon' ),
'click' => __( 'Click', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-pagination]',
'operator' => '===',
'value' => 'infinite',
),
),
'responsive' => false,
'renderAs' => 'text',
),
/**
* Option: Post Pagination Style
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-pagination-style]',
'default' => astra_get_option( 'blog-pagination-style' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$selector_control,
'section' => 'section-blog',
'priority' => 115,
'title' => __( 'Post Pagination Style', 'astra-addon' ),
'choices' => array(
'default' => __( 'Default', 'astra-addon' ),
'square' => __( 'Square', 'astra-addon' ),
'circle' => __( 'Circle', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-pagination]',
'operator' => '===',
'value' => 'number',
),
),
'responsive' => false,
'renderAs' => 'text',
),
/**
* Option: Read more text
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[blog-load-more-text]',
'default' => astra_get_option( 'blog-load-more-text' ),
'type' => 'control',
'section' => 'section-blog',
'priority' => 90,
'title' => __( 'Load More Text', 'astra-addon' ),
'control' => 'text',
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-pagination]',
'operator' => '===',
'value' => 'infinite',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[blog-infinite-scroll-event]',
'operator' => '===',
'value' => 'click',
),
),
),
);
return array_merge( $configurations, $_configs );
}
}
Expand full source code Collapse full source code View on Trac
Methods
- register_configuration — Register General Customizer Configurations.