/**
* This file handles the Spacing module functionality.
*
* @package GP Premium
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // No direct access, please.
}
// Add any necessary functions.
require_once plugin_dir_path( __FILE__ ) . 'migration.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/secondary-nav-spacing.php';
if ( ! function_exists( 'generate_spacing_customize_register' ) ) {
add_action( 'customize_register', 'generate_spacing_customize_register', 99 );
/**
* Add our spacing Customizer options
*
* @since 0.1
* @param object $wp_customize The Customizer object.
*/
function generate_spacing_customize_register( $wp_customize ) {
// Bail if we don't have our defaults.
if ( ! function_exists( 'generate_spacing_get_defaults' ) ) {
return;
}
require_once GP_LIBRARY_DIRECTORY . 'customizer-helpers.php';
$defaults = generate_spacing_get_defaults();
// Register our custom control types.
if ( method_exists( $wp_customize, 'register_control_type' ) ) {
$wp_customize->register_control_type( 'GeneratePress_Pro_Range_Slider_Control' );
$wp_customize->register_control_type( 'GeneratePress_Spacing_Control' );
}
// Add our Spacing panel.
// This is only used if the Layout panel in the free theme doesn't exist.
if ( class_exists( 'WP_Customize_Panel' ) ) {
if ( ! $wp_customize->get_panel( 'generate_spacing_panel' ) ) {
$wp_customize->add_panel(
'generate_spacing_panel',
array(
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => __( 'Spacing', 'gp-premium' ),
'description' => __( 'Change the spacing for various elements using pixels.', 'gp-premium' ),
'priority' => 35,
)
);
}
}
require_once plugin_dir_path( __FILE__ ) . 'customizer/top-bar-spacing.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/header-spacing.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/content-spacing.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/sidebar-spacing.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/navigation-spacing.php';
require_once plugin_dir_path( __FILE__ ) . 'customizer/footer-spacing.php';
}
}
if ( ! function_exists( 'generate_right_sidebar_width' ) ) {
add_filter( 'generate_right_sidebar_width', 'generate_right_sidebar_width' );
/**
* Set our right sidebar width.
*
* @param int $width The sidebar width.
*/
function generate_right_sidebar_width( $width ) {
// Bail if we don't have our defaults.
if ( ! function_exists( 'generate_spacing_get_defaults' ) ) {
return $width;
}
$spacing_settings = wp_parse_args(
get_option( 'generate_spacing_settings', array() ),
generate_spacing_get_defaults()
);
return absint( $spacing_settings['right_sidebar_width'] );
}
}
if ( ! function_exists( 'generate_left_sidebar_width' ) ) {
add_filter( 'generate_left_sidebar_width', 'generate_left_sidebar_width' );
/**
* Set our left sidebar width.
*
* @param int $width The sidebar width.
*/
function generate_left_sidebar_width( $width ) {
// Bail if we don't have our defaults.
if ( ! function_exists( 'generate_spacing_get_defaults' ) ) {
return $width;
}
$spacing_settings = wp_parse_args(
get_option( 'generate_spacing_settings', array() ),
generate_spacing_get_defaults()
);
return absint( $spacing_settings['left_sidebar_width'] );
}
}
if ( ! function_exists( 'generate_spacing_customizer_live_preview' ) ) {
add_action( 'customize_preview_init', 'generate_spacing_customizer_live_preview' );
/**
* Add our live preview JS
*/
function generate_spacing_customizer_live_preview() {
wp_enqueue_script(
'generate-spacing-customizer',
trailingslashit( plugin_dir_url( __FILE__ ) ) . 'customizer/js/customizer.js',
array( 'jquery', 'customize-preview' ),
GENERATE_SPACING_VERSION,
true
);
wp_localize_script(
'generate-spacing-customizer',
'gp_spacing',
array(
'mobile' => generate_premium_get_media_query( 'mobile' ),
'tablet' => generate_premium_get_media_query( 'tablet' ),
'desktop' => generate_premium_get_media_query( 'desktop' ),
'isFlex' => function_exists( 'generate_is_using_flexbox' ) && generate_is_using_flexbox(),
)
);
}
}
if ( ! function_exists( 'generate_include_spacing_defaults' ) ) {
/**
* Check if we should include our default.css file.
*
* @since 1.3.42
*/
function generate_include_spacing_defaults() {
return true;
}
}
if ( ! function_exists( 'generate_spacing_premium_defaults' ) ) {
add_filter( 'generate_spacing_option_defaults', 'generate_spacing_premium_defaults' );
/**
* Add premium spacing defaults.
*
* @since 1.3
* @param array $defaults The existing defaults.
*/
function generate_spacing_premium_defaults( $defaults ) {
$defaults['mobile_menu_item'] = '';
$defaults['mobile_menu_item_height'] = '';
$defaults['sticky_menu_item_height'] = '';
$defaults['off_canvas_menu_item_height'] = '';
$defaults['content_element_separator'] = '2'; // em.
// These defaults were added to GeneratePress (free) in 3.0.0.
if ( defined( 'GENERATE_VERSION' ) && version_compare( GENERATE_VERSION, '3.0.0-alpha.1', '<' ) ) {
$defaults['mobile_header_top'] = '';
$defaults['mobile_header_right'] = '';
$defaults['mobile_header_bottom'] = '';
$defaults['mobile_header_left'] = '';
$defaults['mobile_widget_top'] = '';
$defaults['mobile_widget_right'] = '';
$defaults['mobile_widget_bottom'] = '';
$defaults['mobile_widget_left'] = '';
$defaults['mobile_footer_widget_container_top'] = '';
$defaults['mobile_footer_widget_container_right'] = '';
$defaults['mobile_footer_widget_container_bottom'] = '';
$defaults['mobile_footer_widget_container_left'] = '';
}
return $defaults;
}
}
/**
* Build our premium CSS.
*/
function generate_spacing_do_premium_css() {
// Bail if we don't have our defaults.
if ( ! function_exists( 'generate_spacing_get_defaults' ) ) {
return;
}
$spacing_settings = wp_parse_args(
get_option( 'generate_spacing_settings', array() ),
generate_spacing_get_defaults()
);
require_once GP_LIBRARY_DIRECTORY . 'class-make-css.php';
$premium_css = new GeneratePress_Pro_CSS();
$css_output = '';
// Mobile spacing.
$premium_css->start_media_query( generate_premium_get_media_query( 'mobile-menu' ) );
if ( '' !== $spacing_settings['mobile_menu_item'] ) {
$premium_css->set_selector( '.main-navigation .menu-toggle,.main-navigation .mobile-bar-items a,.main-navigation .menu-bar-item > a' );
$premium_css->add_property( 'padding-left', absint( $spacing_settings['mobile_menu_item'] ), false, 'px' );
$premium_css->add_property( 'padding-right', absint( $spacing_settings['mobile_menu_item'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_menu_item_height'] ) {
$premium_css->set_selector( '.main-navigation .main-nav ul li a,.main-navigation .menu-toggle,.main-navigation .mobile-bar-items a,.main-navigation .menu-bar-item > a' );
$premium_css->add_property( 'line-height', absint( $spacing_settings['mobile_menu_item_height'] ), false, 'px' );
$premium_css->set_selector( '.main-navigation .site-logo.navigation-logo img, .mobile-header-navigation .site-logo.mobile-header-logo img, .navigation-search input[type="search"]' );
$premium_css->add_property( 'height', absint( $spacing_settings['mobile_menu_item_height'] ), false, 'px' );
}
$premium_css->stop_media_query();
// This CSS was added to GeneratePress (free) in 3.0.0.
if ( defined( 'GENERATE_VERSION' ) && version_compare( GENERATE_VERSION, '3.0.0-alpha.1', '<' ) ) {
$premium_css->start_media_query( generate_premium_get_media_query( 'mobile' ) );
$premium_css->set_selector( '.inside-header' );
if ( '' !== $spacing_settings['mobile_header_top'] ) {
$premium_css->add_property( 'padding-top', absint( $spacing_settings['mobile_header_top'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_header_right'] ) {
$premium_css->add_property( 'padding-right', absint( $spacing_settings['mobile_header_right'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_header_bottom'] ) {
$premium_css->add_property( 'padding-bottom', absint( $spacing_settings['mobile_header_bottom'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_header_left'] ) {
$premium_css->add_property( 'padding-left', absint( $spacing_settings['mobile_header_left'] ), false, 'px' );
}
$premium_css->set_selector( '.widget-area .widget' );
if ( '' !== $spacing_settings['mobile_widget_top'] ) {
$premium_css->add_property( 'padding-top', absint( $spacing_settings['mobile_widget_top'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_widget_right'] ) {
$premium_css->add_property( 'padding-right', absint( $spacing_settings['mobile_widget_right'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_widget_bottom'] ) {
$premium_css->add_property( 'padding-bottom', absint( $spacing_settings['mobile_widget_bottom'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_widget_left'] ) {
$premium_css->add_property( 'padding-left', absint( $spacing_settings['mobile_widget_left'] ), false, 'px' );
}
$premium_css->set_selector( '.footer-widgets' );
if ( '' !== $spacing_settings['mobile_footer_widget_container_top'] ) {
$premium_css->add_property( 'padding-top', absint( $spacing_settings['mobile_footer_widget_container_top'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_footer_widget_container_right'] ) {
$premium_css->add_property( 'padding-right', absint( $spacing_settings['mobile_footer_widget_container_right'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_footer_widget_container_bottom'] ) {
$premium_css->add_property( 'padding-bottom', absint( $spacing_settings['mobile_footer_widget_container_bottom'] ), false, 'px' );
}
if ( '' !== $spacing_settings['mobile_footer_widget_container_left'] ) {
$premium_css->add_property( 'padding-left', absint( $spacing_settings['mobile_footer_widget_container_left'] ), false, 'px' );
}
$premium_css->stop_media_query();
$premium_css->set_selector( '.post-image, .page-content, .entry-content, .entry-summary, footer.entry-meta' );
$premium_css->add_property( 'margin-top', floatval( $spacing_settings['content_element_separator'] ), '2', 'em' );
} else {
$premium_css->set_selector( '.post-image:not(:first-child), .page-content:not(:first-child), .entry-content:not(:first-child), .entry-summary:not(:first-child), footer.entry-meta' );
$premium_css->add_property( 'margin-top', floatval( $spacing_settings['content_element_separator'] ), '2', 'em' );
}
$premium_css->set_selector( '.post-image-above-header .inside-article div.featured-image, .post-image-above-header .inside-article div.post-image' );
$premium_css->add_property( 'margin-bottom', floatval( $spacing_settings['content_element_separator'] ), '2', 'em' );
if ( function_exists( 'generate_menu_plus_get_defaults' ) ) {
$menu_plus = wp_parse_args(
get_option( 'generate_menu_plus_settings', array() ),
generate_menu_plus_get_defaults()
);
if ( 'false' !== $menu_plus['sticky_menu'] && '' !== $spacing_settings['sticky_menu_item_height'] ) {
$premium_css->start_media_query( generate_premium_get_media_query( 'tablet' ) . ',' . generate_premium_get_media_query( 'desktop' ) );
if ( function_exists( 'generate_is_using_flexbox' ) && generate_is_using_flexbox() ) {
$premium_css->set_selector( '.main-navigation.sticky-navigation-transition .main-nav > ul > li > a,.sticky-navigation-transition .menu-toggle,.main-navigation.sticky-navigation-transition .menu-bar-item > a, .sticky-navigation-transition .navigation-branding .main-title' );
} else {
$premium_css->set_selector( '.main-navigation.sticky-navigation-transition .main-nav > ul > li > a,.sticky-navigation-transition .menu-toggle,.main-navigation.sticky-navigation-transition .mobile-bar-items a, .sticky-navigation-transition .navigation-branding .main-title' );
}
$premium_css->add_property( 'line-height', absint( $spacing_settings['sticky_menu_item_height'] ), false, 'px' );
$premium_css->set_selector( '.main-navigation.sticky-navigation-transition .site-logo img, .main-navigation.sticky-navigation-transition .navigation-search input[type="search"], .main-navigation.sticky-navigation-transition .navigation-branding img' );
$premium_css->add_property( 'height', absint( $spacing_settings['sticky_menu_item_height'] ), false, 'px' );
$premium_css->stop_media_query();
}
if ( 'false' !== $menu_plus['slideout_menu'] ) {
$premium_css->set_selector( '.main-navigation.slideout-navigation .main-nav > ul > li > a' );
if ( '' !== $spacing_settings['off_canvas_menu_item_height'] ) {
$premium_css->add_property( 'line-height', absint( $spacing_settings['off_canvas_menu_item_height'] ), false, 'px' );
}
}
}
if ( '' !== $premium_css->css_output() ) {
$css_output = $premium_css->css_output();
}
return $css_output;
}
if ( ! function_exists( 'generate_spacing_premium_css' ) ) {
add_action( 'wp_enqueue_scripts', 'generate_spacing_premium_css', 105 );
/**
* Add premium spacing CSS
*
* @since 1.3
*/
function generate_spacing_premium_css() {
$css = generate_spacing_do_premium_css();
if ( 'inline' === generate_get_css_print_method() && $css ) {
wp_add_inline_style( 'generate-style', $css );
}
}
}
add_filter( 'generate_external_dynamic_css_output', 'generate_spacing_add_to_external_stylesheet' );
/**
* Add CSS to the external stylesheet.
*
* @since 1.11.0
* @param string $css Existing CSS.
*/
function generate_spacing_add_to_external_stylesheet( $css ) {
if ( 'inline' === generate_get_css_print_method() ) {
return $css;
}
$css .= generate_spacing_do_premium_css();
return $css;
}
Hardiko Enterprises Is A Leading Timber Store And Furniture House With A Rich History In The Manufacturing Of Wood Products.
Skip to content
iQoo Z9 5G:┬аMobile Under 20000 : рдЗрдХ рдХрд╛ рдирдпрд╛ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди Iqoo Z5G рднрд╛рд░рддреАрдп рдмрд╛рдЬрд╛рд░ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ...
Read more
Manipur: рднрд╛рдЬрдкрд╛ рдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдШрдЯрдирд╛ рдХреЛ рдХреЛрдИ рдмрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ рдордгрд┐рдкреБрд░ рдореЗрдВ рдЬрд╛рддреАрдп рд╣рд┐рдВрд╕рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ ...
Read more
Nissan X- Trail: Nissan рдиреЗрд╣рд╛рд▓ рдореЗрдВ рд╣реА рднрд╛рд░рдд рдореЗрдВ рдЕрдкрдиреА рддреАрди рдкреЙрдкреБрд▓рд░ рдЧреНрд▓реЛрдмрд▓ рдИ рд╕реНрдЯреНрд░реИрд▓ рдХреЗ рдЙрдкрд╛рдп рдФрд░ рдЬрд┐рдУ рдХреЛ ...
Read more
рдкрд╛рдХрд┐рд╕реНрддрд╛рди рдореЗ 22 рд╕рд╛рд▓ рдХреЗ рдЫрд╛рддреНрд░ рдХреЛ рдореМрдд рдХреА рд╕рдЬрд╛: рдкрд╛рдХрд┐рд╕реНрддрд╛рди рдореЗрдВ рдЗрд╕ рдирд┐рдВрджрд╛ рдХреА рд╕рдЬрд╛ рдореМрдд рд╣реИ рдореМрдд рдХреА ...
Read more
Hyundai CRETA N Line┬а рдирдИ рдХреНрд░реЗрдЯрд╛ рдлреЗрд╕рд▓рд┐рд╕реНрдЯ рдХреЗ рдЬрд░рд┐рдП рдзрдорд╛рд▓ рдордЪрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдм рд╣реБрдВрдбрдИ рдорджрд░ рдЗрдВрдбрд┐рдпрд╛ рд▓рд┐рдорд┐рдЯреЗрдб рдЖрдЧрд╛рдореА 11 ...
Read more
Samsung Galaxy S24 Samsung рдиреЗ рднрд╛рд░рдд рдореЗрдВ Galaxy S24 ,Galaxy S24 рдФрд░ Galaxy S24 Ultra рдХреАрдордд 79,999тВ╣ рд░реБрдкрдП рд╕реЗ рд╢реБрд░реВ ...
Read more
Indrani Mukherjee: рдиреЗрдЯрдлреНрд▓рд┐рдХреНрд╕ рдХреА рдП рдбреЙрдХреНрдпреБрдореЗрдВрдЯреНрд░реА рд╕реАрд░реАрдЬ рдбреА рдЗрдВрджреНрд░рд╛рдгреА рдореБрдЦрд░реНрдЬреА рд╕реНрдЯреЛрд░реА рдж рд╡реЙрд░рд┐рдб рдлреНрд░реВрдЯ рд╕рд░рд┐рддрд╛ рд╣реЛ рдЪреБрдХреА рд╣реИ рдЗрд╕ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд░реА ...
Read more
Realme 12 Pro: рд░рд┐рдпрд▓рдореА рдХрд▓ рднрд╛рд░рдд рджреЛ рдирдП рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧреА рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдХрдВрдкрдиреА рдиреЗ рдПрдХрджрдо рдкреНрд░реАрдорд┐рдпрдо рд░рдЦрд╛ ...
Read more
Redmi Note 13 Pro Series:┬ард░реЗрдбрдореА рдиреЗ рдЕрдкрдиреЗ рдпреВрдЬрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд░реЗрдбрдореА рдиреЛрдЯ 13 рд╕реАрд░реАрдЬ рдХреЛ 4 рдЬрдирд╡рд░реА рдХреЛ рд▓рд╛рдВрдЪ рдХрд┐рдпрд╛ ...
Read more
Sidhu Moosewala Mother Pregnant: рдкрдВрдЬрд╛рдмреА рд╕рд┐рдВрдЧрд░ рдФрд░ рд░реИрдкрд░ рд╕рд┐рджреНрдзреВ рдореВрд╕реЗ рд╡рд╛рд▓рд╛ рдХрд╛ 29 рдореЗрдВ 2022 рдХреЛ рдореМрдд рд╣реЛ рдЧрдИ рдереАред ...
Read more
Bajaj Finserv EMI Card : рджреЛрд╕реНрддреЛрдВ рдЕрдЧрд░ рдЖрдк рдХреЛрдИ рднреА рд╕рд╛рдорд╛рди рдЦрд░реАрджрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдЬреНрдпрд╛рджрд╛ рджрд╛рдо ...
Read more
I. Introduction Clocks have long been cherished as thoughtful and practical gifts for any occasion. Among the wide array of ...
Read more
Introduction Wooden Shoe Stands: Are you tired of tripping over piles of shoes as you walk into your home? Do ...
Read more
Introduction The comforting nostalgia of wooden rocking chairs has always held a special place in our hearts, offering a serene ...
Read more
Introduction If you’re passionate about woodworking and eager to learn more about the world of craftsmanship, then you’ve come to ...
Read more
I. Overview of Teak Wood Doors Teak wood doors are popular for homeowners due to their numerous advantages and exceptional ...
Read more
Introduction Are you looking for a simple way to add a touch of elegance and functionality to your home? Look ...
Read more
Introduction Welcome to our blog, where we explore the latest trends in eco-friendly style. In today’s post, we’ll be diving ...
Read more
Introduction Small Wooden Stools: In a world filled with a myriad of furniture options, the humble small wooden stool often ...
Read more
Introduction Welcoming a new member into your family is a joyous occasion, and preparing a cozy and safe environment for ...
Read more