updated plugin GP Premium version 2.1.1

This commit is contained in:
2021-12-20 13:41:59 +00:00
committed by Gitium
parent 132b46b78f
commit d5dbb2bde7
86 changed files with 2903 additions and 455 deletions

View File

@ -0,0 +1,185 @@
<?php
/**
* This file handles the customizer fields for the slideout navigation colors.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // No direct access, please.
}
if ( ! function_exists( 'generate_register_slideout_nav_colors' ) ) {
add_action( 'generate_customize_after_primary_navigation', 'generate_register_slideout_nav_colors', 1000 );
/**
* Register the slideout navigation color fields.
*/
function generate_register_slideout_nav_colors() {
if ( ! class_exists( 'GeneratePress_Customize_Field' ) ) {
return;
}
$color_defaults = generate_get_color_defaults();
$menu_hover_selectors = '.slideout-navigation.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .slideout-navigation.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .slideout-navigation.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .slideout-navigation.main-navigation .menu-bar-item:hover > a, .slideout-navigation.main-navigation .menu-bar-item.sfHover > a';
$menu_current_selectors = '.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"] > a';
$text_selectors = '.slideout-navigation.main-navigation .main-nav ul li a, .slideout-navigation.main-navigation .menu-toggle, .slideout-navigation.main-navigation button.menu-toggle:hover, .slideout-navigation.main-navigation button.menu-toggle:focus, .slideout-navigation.main-navigation .mobile-bar-items a, .slideout-navigation.main-navigation .mobile-bar-items a:hover, .slideout-navigation.main-navigation .mobile-bar-items a:focus, .slideout-navigation.main-navigation .menu-bar-items';
$submenu_hover_selectors = '.slideout-navigation.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a, .slideout-navigation.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):focus > a, .slideout-navigation.main-navigation .main-nav ul ul li.sfHover:not([class*="current-menu-"]) > a';
$submenu_current_selectors = '.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a';
GeneratePress_Customize_Field::add_title(
'generate_slideout_navigation_colors_title',
array(
'section' => 'generate_colors_section',
'title' => __( 'Off Canvas Panel', 'gp-premium' ),
'choices' => array(
'toggleId' => 'slideout-navigation-colors',
),
'active_callback' => function() {
$settings = wp_parse_args(
get_option( 'generate_menu_plus_settings', array() ),
generate_menu_plus_get_defaults()
);
if ( 'false' !== $settings['slideout_menu'] ) {
return true;
}
return false;
},
)
);
// Navigation background group.
GeneratePress_Customize_Field::add_color_field_group(
'slideout_navigation_background',
'generate_colors_section',
'slideout-navigation-colors',
array(
'generate_settings[slideout_background_color]' => array(
'default_value' => $color_defaults['slideout_background_color'],
'label' => __( 'Navigation Background', 'gp-premium' ),
'tooltip' => __( 'Choose Initial Color', 'gp-premium' ),
'element' => '.slideout-navigation.main-navigation',
'property' => 'background-color',
'hide_label' => false,
),
'generate_settings[slideout_background_hover_color]' => array(
'default_value' => $color_defaults['slideout_background_hover_color'],
'label' => __( 'Navigation Background Hover', 'gp-premium' ),
'tooltip' => __( 'Choose Hover Color', 'gp-premium' ),
'element' => $menu_hover_selectors,
'property' => 'background-color',
'hide_label' => true,
),
'generate_settings[slideout_background_current_color]' => array(
'default_value' => $color_defaults['slideout_background_current_color'],
'label' => __( 'Navigation Background Current', 'gp-premium' ),
'tooltip' => __( 'Choose Current Color', 'gp-premium' ),
'element' => $menu_current_selectors,
'property' => 'background-color',
'hide_label' => true,
),
)
);
// Navigation text group.
GeneratePress_Customize_Field::add_color_field_group(
'slideout_navigation_text',
'generate_colors_section',
'slideout-navigation-colors',
array(
'generate_settings[slideout_text_color]' => array(
'default_value' => $color_defaults['slideout_text_color'],
'label' => __( 'Navigation Text', 'gp-premium' ),
'tooltip' => __( 'Choose Initial Color', 'gp-premium' ),
'element' => $text_selectors,
'property' => 'color',
'hide_label' => false,
),
'generate_settings[slideout_text_hover_color]' => array(
'default_value' => $color_defaults['slideout_text_hover_color'],
'label' => __( 'Navigation Text Hover', 'gp-premium' ),
'tooltip' => __( 'Choose Hover Color', 'gp-premium' ),
'element' => $menu_hover_selectors,
'property' => 'color',
'hide_label' => true,
),
'generate_settings[slideout_text_current_color]' => array(
'default_value' => $color_defaults['slideout_text_current_color'],
'label' => __( 'Navigation Text Current', 'gp-premium' ),
'tooltip' => __( 'Choose Current Color', 'gp-premium' ),
'element' => $menu_current_selectors,
'property' => 'color',
'hide_label' => true,
),
)
);
// Sub-Menu background group.
GeneratePress_Customize_Field::add_color_field_group(
'slideout_navigation_submenu_background',
'generate_colors_section',
'slideout-navigation-colors',
array(
'generate_settings[slideout_submenu_background_color]' => array(
'default_value' => $color_defaults['slideout_submenu_background_color'],
'label' => __( 'Sub-Menu Background', 'gp-premium' ),
'tooltip' => __( 'Choose Initial Color', 'gp-premium' ),
'element' => '.slideout-navigation.main-navigation ul ul',
'property' => 'background-color',
'hide_label' => false,
),
'generate_settings[slideout_submenu_background_hover_color]' => array(
'default_value' => $color_defaults['slideout_submenu_background_hover_color'],
'label' => __( 'Sub-Menu Background Hover', 'gp-premium' ),
'tooltip' => __( 'Choose Hover Color', 'gp-premium' ),
'element' => $submenu_hover_selectors,
'property' => 'background-color',
'hide_label' => true,
),
'generate_settings[slideout_submenu_background_current_color]' => array(
'default_value' => $color_defaults['slideout_submenu_background_current_color'],
'label' => __( 'Sub-Menu Background Current', 'gp-premium' ),
'tooltip' => __( 'Choose Current Color', 'gp-premium' ),
'element' => $submenu_current_selectors,
'property' => 'background-color',
'hide_label' => true,
),
)
);
// Sub-Menu text group.
GeneratePress_Customize_Field::add_color_field_group(
'slideout_navigation_submenu_text',
'generate_colors_section',
'slideout-navigation-colors',
array(
'generate_settings[slideout_submenu_text_color]' => array(
'default_value' => $color_defaults['slideout_submenu_text_color'],
'label' => __( 'Sub-Menu Text', 'gp-premium' ),
'tooltip' => __( 'Choose Initial Color', 'gp-premium' ),
'element' => '.slideout-navigation.main-navigation .main-nav ul ul li a',
'property' => 'color',
'hide_label' => false,
),
'generate_settings[slideout_submenu_text_hover_color]' => array(
'default_value' => $color_defaults['slideout_submenu_text_hover_color'],
'label' => __( 'Sub-Menu Text Hover', 'gp-premium' ),
'tooltip' => __( 'Choose Hover Color', 'gp-premium' ),
'element' => $submenu_hover_selectors,
'property' => 'color',
'hide_label' => true,
),
'generate_settings[slideout_submenu_text_current_color]' => array(
'default_value' => $color_defaults['slideout_submenu_text_current_color'],
'label' => __( 'Sub-Menu Text Current', 'gp-premium' ),
'tooltip' => __( 'Choose Current Color', 'gp-premium' ),
'element' => $submenu_current_selectors,
'property' => 'color',
'hide_label' => true,
),
)
);
}
}

View File

@ -326,10 +326,6 @@ button.slideout-exit:hover {
margin: 0 0 0 10px;
}
.slideout-navigation.main-navigation.do-overlay .main-nav ul ul li a {
font-size: 1em;
}
.slideout-navigation.do-overlay ul ul {
box-shadow: 0 0 0;
}

File diff suppressed because one or more lines are too long

View File

@ -731,6 +731,10 @@ if ( ! function_exists( 'generate_menu_plus_enqueue_css' ) ) {
wp_enqueue_style( 'generate-offside', plugin_dir_url( __FILE__ ) . "css/offside{$suffix}.css", array(), GENERATE_MENU_PLUS_VERSION );
wp_add_inline_style( 'generate-offside', generate_do_off_canvas_css() );
if ( class_exists( 'GeneratePress_Typography' ) ) {
wp_add_inline_style( 'generate-offside', GeneratePress_Typography::get_css( 'off-canvas-panel' ) );
}
$font_icons = true;
if ( function_exists( 'generate_get_option' ) ) {
@ -968,8 +972,13 @@ if ( ! function_exists( 'generate_menu_plus_mobile_header' ) ) {
return;
}
$attributes = array(
'id' => 'mobile-header',
);
if ( 'false' !== $settings['mobile_header_auto_hide_sticky'] && $settings['mobile_header_auto_hide_sticky'] ) {
$hide_sticky = ' data-auto-hide-sticky="true"';
$attributes['data-auto-hide-sticky'] = true;
} else {
$hide_sticky = '';
}
@ -980,6 +989,13 @@ if ( ! function_exists( 'generate_menu_plus_mobile_header' ) ) {
$microdata = generate_get_microdata( 'navigation' );
}
if ( function_exists( 'generate_get_schema_type' ) ) {
if ( 'microdata' === generate_get_schema_type() ) {
$attributes['itemtype'] = 'https://schema.org/SiteNavigationElement';
$attributes['itemscope'] = true;
}
}
$classes = array(
'main-navigation',
'mobile-header-navigation',
@ -1006,8 +1022,23 @@ if ( ! function_exists( 'generate_menu_plus_mobile_header' ) ) {
}
$classes = implode( ' ', $classes );
$attributes['class'] = $classes;
$mobile_header_attributes = sprintf(
'id="mobile-header"%1$s class="%2$s" %3$s"',
$hide_sticky,
esc_attr( $classes ),
$microdata
);
if ( function_exists( 'generate_get_attr' ) ) {
$mobile_header_attributes = generate_get_attr(
'mobile-header',
$attributes
);
}
?>
<nav id="mobile-header"<?php echo esc_attr( $hide_sticky ); ?> class="<?php echo esc_attr( $classes ); ?>" <?php echo $microdata; // phpcs:ignore -- No escaping needed. ?>>
<nav <?php echo $mobile_header_attributes; // phpcs:ignore -- No escaping needed. ?>>
<div class="inside-navigation grid-container grid-parent">
<?php
do_action( 'generate_inside_mobile_header' );
@ -1015,8 +1046,20 @@ if ( ! function_exists( 'generate_menu_plus_mobile_header' ) ) {
$disable_mobile_header_menu = apply_filters( 'generate_disable_mobile_header_menu', false );
if ( ! $disable_mobile_header_menu ) :
if ( function_exists( 'generate_get_attr' ) ) {
$menu_toggle_attributes = generate_get_attr(
'mobile-header-menu-toggle',
array(
'class' => 'menu-toggle',
'aria-controls' => 'mobile-menu',
'aria-expanded' => 'false',
)
);
} else {
$menu_toggle_attributes = 'class="menu-toggle" aria-controls="mobile-menu" aria-expanded="false"';
}
?>
<button class="menu-toggle" aria-controls="mobile-menu" aria-expanded="false">
<button <?php echo $menu_toggle_attributes; // phpcs:ignore -- No escaping needed. ?>>
<?php
do_action( 'generate_inside_mobile_header_menu' );
@ -1550,6 +1593,9 @@ function generate_do_off_canvas_css() {
generate_menu_plus_get_defaults()
);
// Check if we're using our legacy typography system.
$using_dynamic_typography = function_exists( 'generate_is_using_dynamic_typography' ) && generate_is_using_dynamic_typography();
require_once GP_LIBRARY_DIRECTORY . 'class-make-css.php';
$css = new GeneratePress_Pro_CSS();
@ -1558,11 +1604,14 @@ function generate_do_off_canvas_css() {
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li a' );
$css->add_property( 'color', esc_attr( $settings['slideout_text_color'] ) );
$css->add_property( 'font-weight', esc_attr( $settings['slideout_font_weight'] ) );
$css->add_property( 'text-transform', esc_attr( $settings['slideout_font_transform'] ) );
if ( '' !== $settings['slideout_font_size'] ) {
$css->add_property( 'font-size', absint( $settings['slideout_font_size'] ), false, 'px' );
if ( ! $using_dynamic_typography ) {
$css->add_property( 'font-weight', esc_attr( $settings['slideout_font_weight'] ) );
$css->add_property( 'text-transform', esc_attr( $settings['slideout_font_transform'] ) );
if ( '' !== $settings['slideout_font_size'] ) {
$css->add_property( 'font-size', absint( $settings['slideout_font_size'] ), false, 'px' );
}
}
$css->set_selector( '.slideout-navigation.main-navigation ul ul' );
@ -1571,33 +1620,38 @@ function generate_do_off_canvas_css() {
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li a' );
$css->add_property( 'color', esc_attr( $settings['slideout_submenu_text_color'] ) );
if ( '' !== $settings['slideout_font_size'] ) {
$css->add_property( 'font-size', absint( $settings['slideout_font_size'] - 1 ), false, 'px' );
if ( ! $using_dynamic_typography ) {
$css->set_selector( '.slideout-navigation.main-navigation.do-overlay .main-nav ul ul li a' );
$css->add_property( 'font-size', '1em' );
if ( '' !== $settings['slideout_font_size'] ) {
$css->add_property( 'font-size', absint( $settings['slideout_font_size'] - 1 ), false, 'px' );
}
if ( '' !== $settings['slideout_mobile_font_size'] ) {
$css->start_media_query( generate_premium_get_media_query( 'mobile' ) );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li a' );
$css->add_property( 'font-size', absint( $settings['slideout_mobile_font_size'] ), false, 'px' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li a' );
$css->add_property( 'font-size', absint( $settings['slideout_mobile_font_size'] - 1 ), false, 'px' );
$css->stop_media_query();
}
}
if ( '' !== $settings['slideout_mobile_font_size'] ) {
$css->start_media_query( generate_premium_get_media_query( 'mobile' ) );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li a' );
$css->add_property( 'font-size', absint( $settings['slideout_mobile_font_size'] ), false, 'px' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li a' );
$css->add_property( 'font-size', absint( $settings['slideout_mobile_font_size'] - 1 ), false, 'px' );
$css->stop_media_query();
}
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li:hover > a,.slideout-navigation.main-navigation .main-nav ul li:focus > a,.slideout-navigation.main-navigation .main-nav ul li.sfHover > a' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .slideout-navigation.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .slideout-navigation.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a' );
$css->add_property( 'color', esc_attr( $settings['slideout_text_hover_color'] ) );
$css->add_property( 'background-color', esc_attr( $settings['slideout_background_hover_color'] ) );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li:hover > a,.slideout-navigation.main-navigation .main-nav ul ul li:focus > a,.slideout-navigation.main-navigation .main-nav ul ul li.sfHover > a' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a, .slideout-navigation.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):focus > a, .slideout-navigation.main-navigation .main-nav ul ul li.sfHover:not([class*="current-menu-"]) > a' );
$css->add_property( 'color', esc_attr( $settings['slideout_submenu_text_hover_color'] ) );
$css->add_property( 'background-color', esc_attr( $settings['slideout_submenu_background_hover_color'] ) );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"] > a, .slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover,.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"].sfHover > a' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"] > a' );
$css->add_property( 'color', esc_attr( $settings['slideout_text_current_color'] ) );
$css->add_property( 'background-color', esc_attr( $settings['slideout_background_current_color'] ) );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a,.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a:hover,.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"].sfHover > a' );
$css->set_selector( '.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a' );
$css->add_property( 'color', esc_attr( $settings['slideout_submenu_text_current_color'] ) );
$css->add_property( 'background-color', esc_attr( $settings['slideout_submenu_background_current_color'] ) );
@ -1719,7 +1773,9 @@ function generate_do_nav_branding_css() {
$css->stop_media_query();
}
if ( ! function_exists( 'generate_typography_premium_css' ) ) {
$is_using_dynamic_typography = function_exists( 'generate_is_using_dynamic_typography' ) && generate_is_using_dynamic_typography();
if ( ! function_exists( 'generate_typography_premium_css' ) && ! $is_using_dynamic_typography ) {
$css->set_selector( '.navigation-branding .main-title' );
$css->add_property( 'font-size', '25px' );
$css->add_property( 'font-weight', 'bold' );
@ -2009,15 +2065,14 @@ function generate_do_navigation_branding() {
if ( '' !== $retina_logo_url ) {
$attr['srcset'] = $logo_url . ' 1x, ' . $retina_logo_url . ' 2x';
}
// Add dimensions to image if retina is set. This fixes a container width bug in Firefox.
if ( function_exists( 'the_custom_logo' ) && get_theme_mod( 'custom_logo' ) ) {
$data = wp_get_attachment_metadata( get_theme_mod( 'custom_logo' ) );
if ( function_exists( 'the_custom_logo' ) && get_theme_mod( 'custom_logo' ) ) {
$data = wp_get_attachment_metadata( get_theme_mod( 'custom_logo' ) );
if ( ! empty( $data ) ) {
$attr['width'] = $data['width'];
$attr['height'] = $data['height'];
}
if ( ! empty( $data ) ) {
$attr['width'] = $data['width'];
$attr['height'] = $data['height'];
}
}
@ -2193,3 +2248,44 @@ function generate_set_not_mobile_menu_breakpoint( $breakpoint ) {
return $breakpoint;
}
add_filter( 'generate_has_active_menu', 'generate_menu_plus_set_active_menu' );
/**
* Tell GP about our active menus.
*
* @since 2.1.0
* @param boolean $has_active_menu Whether we have an active menu.
*/
function generate_menu_plus_set_active_menu( $has_active_menu ) {
$settings = wp_parse_args(
get_option( 'generate_menu_plus_settings', array() ),
generate_menu_plus_get_defaults()
);
if ( 'disable' !== $settings['mobile_header'] || 'false' !== $settings['slideout_menu'] ) {
return true;
}
return $has_active_menu;
}
add_filter( 'generate_typography_css_selector', 'generate_menu_plus_typography_selectors' );
/**
* Add the Menu Plus typography CSS selectors.
*
* @since 2.1.0
* @param string $selector The selector we're targeting.
*/
function generate_menu_plus_typography_selectors( $selector ) {
switch ( $selector ) {
case 'off-canvas-panel-menu-items':
$selector = '.slideout-navigation.main-navigation .main-nav ul li a';
break;
case 'off-canvas-panel-sub-menu-items':
$selector = '.slideout-navigation.main-navigation .main-nav ul ul li a';
break;
}
return $selector;
}

View File

@ -46,7 +46,7 @@
topMargin: "auto",
keepInWrapper: false,
wrapperSelector: '',
zIndex: 100,
zIndex: 10000,
namespaceClass: "stuckElement",
fixedClass: "isStuck",
disableOn:function(){
@ -96,7 +96,8 @@
'-webkit-transition': '',
'-ms-transition': '',
'transition': '',
'visibility': ''
'visibility': '',
'z-index': '',
})
.removeClass( 'sticky-navigation-transition' )
.removeClass( 'navigation-transition' )
@ -147,6 +148,10 @@
void 0;
active = true;
if ( options.zIndex ) {
$element.css( 'z-index', options.zIndex );
}
if ( 'fade' == options.transition ) {
$element.hide();
}
@ -167,7 +172,7 @@
if ( 'left' == $element.css( 'float' ) || 'right' == $element.css( 'float' ) ) {
$placeholder.css( 'float', $element.css( 'float' ) );
$placeholder.attr( 'style', $placeholder.attr( 'style' ) + 'width:auto !important' );
$placeholder.attr( 'style', $placeholder.attr( 'style' ) + 'width:auto !important;' );
}
if ( 'slide' == options.transition && 'block' == $placeholder.css( 'display' ) ) {
@ -394,10 +399,6 @@
$parent = $body;
}
if( options.zIndex ) {
$element.css( 'z-index',options.zIndex );
}
$( window ).on( 'scroll.stickUp', stickUpScrollHandlerFn );
$( window ).on( 'resize.stickUp', stickUpResponsiveHandlerFn );
@ -576,7 +577,7 @@ jQuery( function( $ ) {
var mobileHeader = $( '#mobile-header' );
mobileHeader.GenerateSimpleSticky({
scrollHide: ( mobileHeader.data( 'auto-hide-sticky' ) ) ? true : false,
scrollHide: ( mobileHeader.data( 'auto-hide-sticky' ) || '' === mobileHeader.data( 'auto-hide-sticky' ) ) ? true : false,
disableOn: function() {
if ( ! mobileHeader.is( ':visible' ) ) {
return false;

File diff suppressed because one or more lines are too long

View File

@ -18,3 +18,4 @@ if ( ! defined( 'GENERATE_MENU_PLUS_VERSION' ) ) {
// Include functions identical between standalone add-on and GP Premium.
require plugin_dir_path( __FILE__ ) . 'functions/generate-menu-plus.php';
require plugin_dir_path( __FILE__ ) . 'fields/slideout-nav-colors.php';