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

@ -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;
}