/** * 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.

Realme 12 Pro: और 12 Pro Plus कल होगा लॉन्च , DSLR जैसा कमरा मिलेगा

Realme 12 Pro
Realme 12 Pro: रियलमी कल भारत दो नए स्मार्टफोन लॉन्च करेगी स्मार्टफोन के डिजाइन को कंपनी ने एकदम प्रीमियम रखा ...
Read more

Redmi Note 13 Pro Series: 200 MP कैमरा और 5100 mAh बैटरी प्रो मॉडल

Redmi Note 13 Pro Series
Redmi Note 13 Pro Series: रेडमी ने अपने यूजर्स के लिए रेडमी नोट 13 सीरीज को 4 जनवरी को लांच किया ...
Read more

Sidhu Moosewala : 56 साल में दूसरी बार प्रेगनेंट हुई मूशेवाला की मां | इस महिने देंगी बच्चें को जन्म

sidhu moosewala
Sidhu Moosewala Mother Pregnant: पंजाबी सिंगर और रैपर सिद्धू मूसे वाला का 29 में 2022 को मौत हो गई थी। ...
Read more

Bajaj Finserv EMI Card घर बैठे कैसे बनाए | How To Apply Finserv EMI Card

Bajaj Finserv EMI Card
    Bajaj Finserv EMI Card : दोस्तों अगर आप कोई भी सामान खरीदना चाहते हैं लेकिन उनके ज्यादा दाम ...
Read more

Wooden Wall Clocks: A Timeless Gift for Every Occasion

Wooden Wall Clocks
I. Introduction Clocks have long been cherished as thoughtful and practical gifts for any occasion. Among the wide array of ...
Read more

Maximizing Space and Style: Wooden Shoe Stands That Wow

Wooden Shoe Stands
Introduction Wooden Shoe Stands: Are you tired of tripping over piles of shoes as you walk into your home? Do ...
Read more

10 Charming Wooden Rocking Chairs That Redefine Comfort

Wooden Rocking Chair
Introduction The comforting nostalgia of wooden rocking chairs has always held a special place in our hearts, offering a serene ...
Read more

CNC Routers: The Secret to Crafting Perfect Signage

cnc router
Introduction If you’re passionate about woodworking and eager to learn more about the world of craftsmanship, then you’ve come to ...
Read more

The Ultimate Guide to Choosing the Perfect Teak Wood Doors for Your Home

Teak Wood Doors
I. Overview of Teak Wood Doors Teak wood doors are popular for homeowners due to their numerous advantages and exceptional ...
Read more

Wooden Coasters: A Small Detail with a Big Impact on Your Home

wooden coaster
Introduction Are you looking for a simple way to add a touch of elegance and functionality to your home? Look ...
Read more

Why Wooden Cloth Stands Are the Latest Trend in “Eco-Friendly Style”

Wooden Cloth Stand
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

The Versatile Charm of Small Wooden Stools

Small Wooden Stools
Introduction Small Wooden Stools: In a world filled with a myriad of furniture options, the humble small wooden stool often ...
Read more

Baby Wooden Bed: A Comfortable and Stylish Choice for Your Little One

Baby Wooden Bed
Introduction Welcoming a new member into your family is a joyous occasion, and preparing a cozy and safe environment for ...
Read more

The Ultimate Guide to Wooden Roti Makers: Your Kitchen’s New Best Friend

Wooden Roti Maker
Introduction Are you tired of spending endless hours in the kitchen kneading and rolling out dough to make the perfect ...
Read more

Wooden Photo Frame Design: Adding Elegance to Your Memories

Wooden Photo Frame Design
In this digital age, where most of our photos are stored on smartphones and computers, there’s something truly special about ...
Read more

Wooden Keychains: A Blend of Elegance and Utility

Wooden Keychains
In this comprehensive guide, we will delve into the enchanting world of wooden keychains, exploring their diverse styles, eco-friendliness, and ...
Read more

The Wooden Key Holder: Practical and Stylish Organization

Wooden Key Holder
Introduction Wooden Key Holder: In our busy modern lives, organization plays a crucial role in ensuring smooth daily routines. One ...
Read more

Wooden Office Table: A Perfect Blend of Elegance and Functionality

Wooden Office Table
Introduction The wooden office table has become increasingly popular in modern workplaces due to its ability to seamlessly blend elegance ...
Read more

Master the Art of Teak Wood Quality Checking: A Comprehensive Guide

Teak Wood Quality Checking
Introduction Teak Wood Quality Checking: In the world of woodworking, the quality of the wood you choose plays a pivotal ...
Read more

The Wooden Spice Box: A Culinary Essential

wooden spice box
Introduction In the world of cooking and culinary artistry, every detail matters. From selecting the freshest ingredients to using the ...
Read more