updated theme `GeneratePress` version 3.3.0

This commit is contained in:
KawaiiPunk 2023-03-29 18:20:50 +00:00 committed by Gitium
parent faf8c388d3
commit 67c318980e
25 changed files with 471 additions and 503 deletions

View File

@ -1 +1 @@
<?php return array('dependencies' => array('wp-data', 'wp-dom-ready', 'wp-element', 'wp-plugins', 'wp-polyfill'), 'version' => 'afc5f754f71cf8ffa58481330704e11f');
<?php return array('dependencies' => array('wp-data', 'wp-dom-ready', 'wp-element', 'wp-plugins', 'wp-polyfill'), 'version' => '941ef20418fb33c76715610c01428ffc');

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => '5116be27b8e6731e204ee316bb612aeb');
<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => 'a1c378863dc0c01884b392ae3eb5aa5e');

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<?php return array('dependencies' => array('wp-api-fetch', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => '0b0b00a375613f57beee85895b88af90');
<?php return array('dependencies' => array('wp-api-fetch', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill'), 'version' => '2c95093bcabcb6977ef9df3992f4003b');

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<?php return array('dependencies' => array('wp-polyfill'), 'version' => 'efb6ba5c87ef19b5793fd0d51b0f598e');

View File

@ -0,0 +1 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=73)}({11:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.default=e.exports,e.exports.__esModule=!0},14:function(e,t,n){var r=n(11);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},22:function(e,t,n){var r=n(11);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},23:function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},24:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},6:function(e,t,n){var r=n(22),o=n(23),a=n(14),i=n(24);e.exports=function(e){return r(e)||o(e)||a(e)||i()},e.exports.default=e.exports,e.exports.__esModule=!0},73:function(e,t,n){"use strict";n.r(t);var r=n(6),o=n.n(r),a=function(e){var t=e.targetModal,n=(e.openTrigger,e.triggers),r=void 0===n?[]:n,a=document.getElementById(t);if(a){var i="data-gpmodal-close",u="gp-modal--open",s="";r.length>0&&function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.filter(Boolean).forEach((function(e){e.addEventListener("click",(function(e){e.preventDefault(),l()})),e.addEventListener("keydown",(function(e){" "!==e.key&&"Enter"!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),l())}))}))}.apply(void 0,o()(r))}function l(){a.classList.add("gp-modal--transition"),s=document.activeElement,a.classList.add(u),d("disable"),a.addEventListener("touchstart",f),a.addEventListener("click",f),document.addEventListener("keydown",p),function(){var e=v();if(0!==e.length){var t=e.filter((function(e){return!e.hasAttribute(i)}));t.length>0&&t[0].focus(),0===t.length&&e[0].focus()}}(),setTimeout((function(){return a.classList.remove("gp-modal--transition")}),100)}function c(){a.classList.add("gp-modal--transition"),a.removeEventListener("touchstart",f),a.removeEventListener("click",f),document.removeEventListener("keydown",p),d("enable"),s&&s.focus&&s.focus(),a.classList.remove(u),setTimeout((function(){return a.classList.remove("gp-modal--transition")}),500)}function d(e){var t=document.querySelector("body");switch(e){case"enable":Object.assign(t.style,{overflow:""});break;case"disable":Object.assign(t.style,{overflow:"hidden"})}}function f(e){(e.target.hasAttribute(i)||e.target.parentNode.hasAttribute(i))&&(e.preventDefault(),e.stopPropagation(),c())}function p(e){27===e.keyCode&&c(),9===e.keyCode&&function(e){var t=v();if(0!==t.length){var n=(t=t.filter((function(e){return null!==e.offsetParent}))).indexOf(document.activeElement);e.shiftKey&&0===n&&(t[t.length-1].focus(),e.preventDefault()),!e.shiftKey&&t.length>0&&n===t.length-1&&(t[0].focus(),e.preventDefault())}}(e)}function v(){var e=a.querySelectorAll(["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])']);return Array.apply(void 0,o()(e))}},i=Object.assign({},{openTrigger:"data-gpmodal-trigger"}),u=o()(document.querySelectorAll("[".concat(i.openTrigger,"]"))).reduce((function(e,t){var n=t.attributes[i.openTrigger].value;return e[n]=e[n]||[],e[n].push(t),e}),[]);for(var s in u){var l=u[s];i.targetModal=s,i.triggers=o()(l),new a(i)}}});

View File

@ -50,7 +50,7 @@
i;
var enableDropdownArrows = function( nav ) {
if ( body.classList.contains( 'dropdown-hover' ) ) {
if ( nav && body.classList.contains( 'dropdown-hover' ) ) {
var dropdownItems = nav.querySelectorAll( 'li.menu-item-has-children' );
for ( i = 0; i < dropdownItems.length; i++ ) {
@ -63,7 +63,7 @@
};
var disableDropdownArrows = function( nav ) {
if ( body.classList.contains( 'dropdown-hover' ) ) {
if ( nav && body.classList.contains( 'dropdown-hover' ) ) {
var dropdownItems = nav.querySelectorAll( 'li.menu-item-has-children' );
for ( i = 0; i < dropdownItems.length; i++ ) {
@ -119,7 +119,11 @@
if ( parentContainer.classList.contains( 'toggled' ) ) {
parentContainer.classList.remove( 'toggled' );
htmlEl.classList.remove( 'mobile-menu-open' );
nav.setAttribute( 'aria-hidden', 'true' );
if ( nav ) {
nav.setAttribute( 'aria-hidden', 'true' );
}
_this.setAttribute( 'aria-expanded', 'false' );
if ( isExternalToggle ) {
@ -132,7 +136,11 @@
} else {
parentContainer.classList.add( 'toggled' );
htmlEl.classList.add( 'mobile-menu-open' );
nav.setAttribute( 'aria-hidden', 'false' );
if ( nav ) {
nav.setAttribute( 'aria-hidden', 'false' );
}
_this.setAttribute( 'aria-expanded', 'true' );
if ( isExternalToggle ) {
@ -200,7 +208,7 @@
for ( i = 0; i < dropdownToggles.length; i++ ) {
dropdownToggles[ i ].addEventListener( 'click', toggleSubNav, false );
dropdownToggles[ i ].addEventListener( 'keypress', function( e ) {
if ( 'Enter' === e.key ) { // 13 is enter
if ( 'Enter' === e.key || ' ' === e.key ) {
toggleSubNav( e, this );
}
}, false );
@ -231,8 +239,8 @@
if ( ! remoteNav ) {
// Navigation is toggled, but .menu-toggle isn't visible on the page (display: none).
var closestNav = openedMobileMenus[ i ].getElementsByTagName( 'ul' )[ 0 ],
closestNavItems = closestNav.getElementsByTagName( 'li' ),
closestSubMenus = closestNav.getElementsByTagName( 'ul' );
closestNavItems = closestNav ? closestNav.getElementsByTagName( 'li' ) : [],
closestSubMenus = closestNav ? closestNav.getElementsByTagName( 'ul' ) : [];
}
document.activeElement.blur();

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
}
// Set our theme version.
define( 'GENERATE_VERSION', '3.2.4' );
define( 'GENERATE_VERSION', '3.3.0' );
if ( ! function_exists( 'generate_setup' ) ) {
add_action( 'after_setup_theme', 'generate_setup' );
@ -120,3 +120,4 @@ require $theme_dir . '/inc/structure/header.php';
require $theme_dir . '/inc/structure/navigation.php';
require $theme_dir . '/inc/structure/post-meta.php';
require $theme_dir . '/inc/structure/sidebars.php';
require $theme_dir . '/inc/structure/search-modal.php';

View File

@ -131,87 +131,89 @@ class GeneratePress_Typography {
}
);
if ( ! empty( $typography ) ) {
$css = new GeneratePress_CSS();
if ( empty( $typography ) ) {
return '';
}
$body_selector = 'body';
$paragraph_selector = 'p';
$css = new GeneratePress_CSS();
foreach ( $typography as $key => $data ) {
$options = wp_parse_args(
$data,
self::get_defaults()
);
$body_selector = 'body';
$paragraph_selector = 'p';
$selector = self::get_css_selector( $options['selector'] );
foreach ( $typography as $key => $data ) {
$options = wp_parse_args(
$data,
self::get_defaults()
);
if ( 'custom' === $selector ) {
$selector = $options['customSelector'];
}
$selector = self::get_css_selector( $options['selector'] );
$font_family = self::get_font_family( $options['fontFamily'] );
$css->set_selector( $selector );
$css->add_property( 'font-family', $font_family );
$css->add_property( 'font-weight', $options['fontWeight'] );
$css->add_property( 'text-transform', $options['textTransform'] );
$css->add_property( 'font-style', $options['fontStyle'] );
$css->add_property( 'text-decoration', $options['textDecoration'] );
$css->add_property( 'font-size', $options['fontSize'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacing'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeight'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottom'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeight'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottom'], false, $options['marginBottomUnit'] );
}
$css->start_media_query( generate_get_media_query( 'tablet' ) );
$css->set_selector( $selector );
$css->add_property( 'font-size', $options['fontSizeTablet'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacingTablet'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeightTablet'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottomTablet'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeightTablet'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottomTablet'], false, $options['marginBottomUnit'] );
}
$css->stop_media_query();
$css->start_media_query( generate_get_media_query( 'mobile' ) );
$css->set_selector( $selector );
$css->add_property( 'font-size', $options['fontSizeMobile'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacingMobile'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeightMobile'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottomMobile'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeightMobile'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottomMobile'], false, $options['marginBottomUnit'] );
}
$css->stop_media_query();
if ( 'custom' === $selector ) {
$selector = $options['customSelector'];
}
return $css->css_output();
$font_family = self::get_font_family( $options['fontFamily'] );
$css->set_selector( $selector );
$css->add_property( 'font-family', $font_family );
$css->add_property( 'font-weight', $options['fontWeight'] );
$css->add_property( 'text-transform', $options['textTransform'] );
$css->add_property( 'font-style', $options['fontStyle'] );
$css->add_property( 'text-decoration', $options['textDecoration'] );
$css->add_property( 'font-size', $options['fontSize'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacing'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeight'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottom'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeight'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottom'], false, $options['marginBottomUnit'] );
}
$css->start_media_query( generate_get_media_query( 'tablet' ) );
$css->set_selector( $selector );
$css->add_property( 'font-size', $options['fontSizeTablet'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacingTablet'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeightTablet'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottomTablet'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeightTablet'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottomTablet'], false, $options['marginBottomUnit'] );
}
$css->stop_media_query();
$css->start_media_query( generate_get_media_query( 'mobile' ) );
$css->set_selector( $selector );
$css->add_property( 'font-size', $options['fontSizeMobile'], false, $options['fontSizeUnit'] );
$css->add_property( 'letter-spacing', $options['letterSpacingMobile'], false, $options['letterSpacingUnit'] );
if ( 'body' !== $options['selector'] ) {
$css->add_property( 'line-height', $options['lineHeightMobile'], false, $options['lineHeightUnit'] );
$css->add_property( 'margin-bottom', $options['marginBottomMobile'], false, $options['marginBottomUnit'] );
} else {
$css->set_selector( $body_selector );
$css->add_property( 'line-height', $options['lineHeightMobile'], false, $options['lineHeightUnit'] );
$css->set_selector( $paragraph_selector );
$css->add_property( 'margin-bottom', $options['marginBottomMobile'], false, $options['marginBottomUnit'] );
}
$css->stop_media_query();
}
return $css->css_output();
}
/**

View File

@ -260,10 +260,10 @@ if ( ! function_exists( 'generate_base_css' ) ) {
foreach ( (array) $global_colors as $key => $data ) {
if ( ! empty( $data['slug'] ) && ! empty( $data['color'] ) ) {
$css->set_selector( '.has-' . $data['slug'] . '-color' );
$css->set_selector( ':root .has-' . $data['slug'] . '-color' );
$css->add_property( 'color', 'var(--' . $data['slug'] . ')' );
$css->set_selector( '.has-' . $data['slug'] . '-background-color' );
$css->set_selector( ':root .has-' . $data['slug'] . '-background-color' );
$css->add_property( 'background-color', 'var(--' . $data['slug'] . ')' );
}
}
@ -486,6 +486,11 @@ if ( ! function_exists( 'generate_advanced_css' ) ) {
$css->add_property( 'background-color', $settings['back_to_top_background_color_hover'] );
$css->add_property( 'color', $settings['back_to_top_text_color_hover'] );
$css->set_selector( ':root' );
$css->add_property( '--gp-search-modal-bg-color', $settings['search_modal_bg_color'] );
$css->add_property( '--gp-search-modal-text-color', $settings['search_modal_text_color'] );
$css->add_property( '--gp-search-modal-overlay-bg-color', $settings['search_modal_overlay_bg_color'] );
$css->start_media_query( generate_get_media_query( 'mobile-menu' ) );
$css->set_selector( '.main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a' );
$css->add_property( 'background', 'none' );
@ -543,7 +548,7 @@ if ( ! function_exists( 'generate_font_css' ) ) {
$css->add_property( 'margin-bottom', floatval( $settings['paragraph_margin'] ), $defaults['paragraph_margin'], 'em' );
if ( apply_filters( 'generate_do_wp_block_margin_bottom', true ) ) {
$css->set_selector( '.entry-content > [class*="wp-block-"]:not(:last-child)' );
$css->set_selector( '.entry-content > [class*="wp-block-"]:not(:last-child):not(.wp-block-heading)' );
$css->add_property( 'margin-bottom', floatval( $settings['paragraph_margin'] ), false, 'em' );
}
@ -1276,3 +1281,55 @@ function generate_update_dynamic_css_cache() {
$css = generate_get_dynamic_css();
update_option( 'generate_dynamic_css_output', wp_strip_all_tags( $css ) );
}
add_action( 'generate_base_css', 'generate_do_modal_css' );
/**
* Do the modal CSS.
*
* @param Object $css The existing CSS object.
*/
function generate_do_modal_css( $css ) {
if ( ! apply_filters( 'generate_enable_modal_script', false ) ) {
return;
}
$css->set_selector( '.gp-modal:not(.gp-modal--open):not(.gp-modal--transition)' );
$css->add_property( 'display', 'none' );
$css->set_selector( '.gp-modal--transition:not(.gp-modal--open)' );
$css->add_property( 'pointer-events', 'none' );
$css->set_selector( '.gp-modal-overlay:not(.gp-modal-overlay--open):not(.gp-modal--transition)' );
$css->add_property( 'display', 'none' );
$css->set_selector( '.gp-modal__overlay' );
$css->add_property( 'display', 'none' );
$css->add_property( 'position', 'fixed' );
$css->add_property( 'top', '0' );
$css->add_property( 'left', '0' );
$css->add_property( 'right', '0' );
$css->add_property( 'bottom', '0' );
$css->add_property( 'background', 'rgba(0,0,0,0.2)' );
$css->add_property( 'display', 'flex' );
$css->add_property( 'justify-content', 'center' );
$css->add_property( 'align-items', 'center' );
$css->add_property( 'z-index', '10000' );
$css->add_property( 'backdrop-filter', 'blur(3px)' );
$css->add_property( 'transition', 'opacity 500ms ease' );
$css->add_property( 'opacity', 0 );
$css->set_selector( '.gp-modal--open:not(.gp-modal--transition) .gp-modal__overlay' );
$css->add_property( 'opacity', 1 );
$css->set_selector( '.gp-modal__container' );
$css->add_property( 'max-width', '100%' );
$css->add_property( 'max-height', '100vh' );
$css->add_property( 'transform', 'scale(0.9)' );
$css->add_property( 'transition', 'transform 500ms ease' );
$css->add_property( 'padding', '0 10px' );
$css->set_selector( '.gp-modal--open:not(.gp-modal--transition) .gp-modal__container' );
$css->add_property( 'transform', 'scale(1)' );
return $css;
}

View File

@ -304,6 +304,7 @@ if ( ! function_exists( 'generate_customize_register' ) ) {
require_once $fields_dir . '/footer-widgets.php';
require_once $fields_dir . '/footer-bar.php';
require_once $fields_dir . '/back-to-top.php';
require_once $fields_dir . '/search-modal.php';
do_action( 'generate_customize_after_controls', $wp_customize );
@ -1009,6 +1010,31 @@ if ( ! function_exists( 'generate_customize_register' ) ) {
),
'settings' => 'generate_settings[nav_search]',
'priority' => 23,
'active_callback' => function() {
return 'enable' === generate_get_option( 'nav_search' );
},
)
);
$wp_customize->add_setting(
'generate_settings[nav_search_modal]',
array(
'default' => $defaults['nav_search_modal'],
'type' => 'option',
'sanitize_callback' => 'generate_sanitize_checkbox',
)
);
$wp_customize->add_control(
'generate_settings[nav_search_modal]',
array(
'type' => 'checkbox',
'label' => esc_html__( 'Enable navigation search modal', 'generatepress' ),
'section' => 'generate_layout_navigation',
'priority' => 23,
'active_callback' => function() {
return 'disable' === generate_get_option( 'nav_search' );
},
)
);

View File

@ -0,0 +1,97 @@
<?php
/**
* This file handles the customizer fields for the Search Modal.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // No direct access, please.
}
GeneratePress_Customize_Field::add_title(
'generate_search_modal_colors_title',
array(
'section' => 'generate_colors_section',
'title' => __( 'Search Modal', 'generatepress' ),
'choices' => array(
'toggleId' => 'search-modal-colors',
),
'active_callback' => function() {
if ( generate_get_option( 'nav_search_modal' ) ) {
return true;
}
return false;
},
)
);
GeneratePress_Customize_Field::add_field(
'generate_settings[search_modal_bg_color]',
'GeneratePress_Customize_Color_Control',
array(
'default' => $color_defaults['search_modal_bg_color'],
'sanitize_callback' => 'generate_sanitize_rgba_color',
'transport' => 'postMessage',
),
array(
'label' => __( 'Field Background', 'generatepress' ),
'section' => 'generate_colors_section',
'choices' => array(
'toggleId' => 'search-modal-colors',
),
'output' => array(
array(
'element' => ':root',
'property' => '--gp-search-modal-bg-color',
),
),
)
);
GeneratePress_Customize_Field::add_field(
'generate_settings[search_modal_text_color]',
'GeneratePress_Customize_Color_Control',
array(
'default' => $color_defaults['search_modal_text_color'],
'sanitize_callback' => 'generate_sanitize_rgba_color',
'transport' => 'postMessage',
),
array(
'label' => __( 'Field Text', 'generatepress' ),
'section' => 'generate_colors_section',
'choices' => array(
'toggleId' => 'search-modal-colors',
),
'output' => array(
array(
'element' => ':root',
'property' => '--gp-search-modal-text-color',
),
),
)
);
GeneratePress_Customize_Field::add_field(
'generate_settings[search_modal_overlay_bg_color]',
'GeneratePress_Customize_Color_Control',
array(
'default' => $color_defaults['search_modal_overlay_bg_color'],
'sanitize_callback' => 'generate_sanitize_rgba_color',
'transport' => 'postMessage',
),
array(
'label' => __( 'Overlay Background', 'generatepress' ),
'section' => 'generate_colors_section',
'choices' => array(
'toggleId' => 'search-modal-colors',
),
'output' => array(
array(
'element' => ':root',
'property' => '--gp-search-modal-overlay-bg-color',
),
),
)
);

View File

@ -208,10 +208,27 @@ if ( ! function_exists( 'generate_sanitize_hex_color' ) ) {
return $color;
}
// Sanitize CSS variables.
if ( strpos( $color, 'var(' ) !== false ) {
return sanitize_text_field( $color );
}
// Sanitize rgb() values.
if ( strpos( $color, 'rgb(' ) !== false ) {
$color = str_replace( ' ', '', $color );
sscanf( $color, 'rgb(%d,%d,%d)', $red, $green, $blue );
return 'rgb(' . $red . ',' . $green . ',' . $blue . ')';
}
// Sanitize rgba() values.
if ( strpos( $color, 'rgba' ) !== false ) {
$color = str_replace( ' ', '', $color );
sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')';
}
return '';
}
}

View File

@ -41,6 +41,7 @@ if ( ! function_exists( 'generate_get_defaults' ) ) {
'nav_dropdown_type' => 'hover',
'nav_dropdown_direction' => is_rtl() ? 'left' : 'right',
'nav_search' => 'disable',
'nav_search_modal' => false,
'content_layout_setting' => 'separate-containers',
'layout_setting' => 'right-sidebar',
'blog_layout_setting' => 'right-sidebar',
@ -188,6 +189,9 @@ if ( ! function_exists( 'generate_get_color_defaults' ) ) {
'back_to_top_background_color_hover' => 'rgba( 0,0,0,0.6 )',
'back_to_top_text_color' => '#ffffff',
'back_to_top_text_color_hover' => '#ffffff',
'search_modal_bg_color' => 'var(--base-3)',
'search_modal_text_color' => 'var(--contrast)',
'search_modal_overlay_bg_color' => 'rgba(0,0,0,0.2)',
)
);
}

View File

@ -93,6 +93,10 @@ if ( ! function_exists( 'generate_scripts' ) ) {
wp_enqueue_script( 'generate-dropdown-click', $dir_uri . "/assets/js/dropdown-click{$suffix}.js", array(), GENERATE_VERSION, true );
}
if ( apply_filters( 'generate_enable_modal_script', false ) ) {
wp_enqueue_script( 'generate-modal', $dir_uri . '/assets/dist/modal.js', array(), GENERATE_VERSION, true );
}
if ( 'enable' === generate_get_option( 'nav_search' ) ) {
wp_enqueue_script( 'generate-navigation-search', $dir_uri . "/assets/js/navigation-search{$suffix}.js", array(), GENERATE_VERSION, true );

View File

@ -228,7 +228,9 @@ function generate_save_layout_meta_data( $post_id ) {
}
$sidebar_layout_key = '_generate-sidebar-layout-meta';
$sidebar_layout_value = filter_input( INPUT_POST, $sidebar_layout_key, FILTER_SANITIZE_STRING );
$sidebar_layout_value = isset( $_POST[ $sidebar_layout_key ] )
? sanitize_text_field( wp_unslash( $_POST[ $sidebar_layout_key ] ) )
: '';
if ( $sidebar_layout_value ) {
update_post_meta( $post_id, $sidebar_layout_key, $sidebar_layout_value );
@ -237,7 +239,9 @@ function generate_save_layout_meta_data( $post_id ) {
}
$footer_widget_key = '_generate-footer-widget-meta';
$footer_widget_value = filter_input( INPUT_POST, $footer_widget_key, FILTER_SANITIZE_STRING );
$footer_widget_value = isset( $_POST[ $footer_widget_key ] )
? sanitize_text_field( wp_unslash( $_POST[ $footer_widget_key ] ) )
: '';
// Check for empty string to allow 0 as a value.
if ( '' !== $footer_widget_value ) {
@ -247,7 +251,9 @@ function generate_save_layout_meta_data( $post_id ) {
}
$page_builder_container_key = '_generate-full-width-content';
$page_builder_container_value = filter_input( INPUT_POST, $page_builder_container_key, FILTER_SANITIZE_STRING );
$page_builder_container_value = isset( $_POST[ $page_builder_container_key ] )
? sanitize_text_field( wp_unslash( $_POST[ $page_builder_container_key ] ) )
: '';
if ( $page_builder_container_value ) {
update_post_meta( $post_id, $page_builder_container_key, $page_builder_container_value );
@ -258,7 +264,9 @@ function generate_save_layout_meta_data( $post_id ) {
// We only need this if the Disable Elements module doesn't exist.
if ( ! defined( 'GENERATE_DE_VERSION' ) ) {
$disable_content_title_key = '_generate-disable-headline';
$disable_content_title_value = filter_input( INPUT_POST, $disable_content_title_key, FILTER_SANITIZE_STRING );
$disable_content_title_value = isset( $_POST[ $disable_content_title_key ] )
? sanitize_text_field( wp_unslash( $_POST[ $disable_content_title_key ] ) )
: '';
if ( $disable_content_title_value ) {
update_post_meta( $post_id, $disable_content_title_key, $disable_content_title_value );

View File

@ -156,8 +156,8 @@ function generate_set_comment_form_defaults( $defaults ) {
esc_html__( 'Comment', 'generatepress' )
);
$defaults['comment_notes_before'] = null;
$defaults['comment_notes_after'] = null;
$defaults['comment_notes_before'] = '';
$defaults['comment_notes_after'] = '';
$defaults['id_form'] = 'commentform';
$defaults['id_submit'] = 'submit';
$defaults['title_reply'] = apply_filters( 'generate_leave_comment', __( 'Leave a Comment', 'generatepress' ) );

View File

@ -115,32 +115,21 @@ if ( ! function_exists( 'generate_construct_logo' ) ) {
)
);
$data = get_theme_mod( 'custom_logo' ) && ( '' !== $retina_logo_url || generate_is_using_flexbox() )
? wp_get_attachment_metadata( get_theme_mod( 'custom_logo' ) )
: false;
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 ( ! empty( $data ) ) {
$attr['width'] = $data['width'];
$attr['height'] = $data['height'];
}
if ( $data ) {
if ( isset( $data['width'] ) ) {
$attr['width'] = $data['width'];
}
} elseif ( generate_is_using_flexbox() ) {
// Add this to flexbox version only until we can verify it won't conflict with existing installs.
if ( function_exists( 'the_custom_logo' ) && get_theme_mod( 'custom_logo' ) ) {
$data = wp_get_attachment_metadata( get_theme_mod( 'custom_logo' ) );
if ( ! empty( $data ) ) {
if ( isset( $data['width'] ) ) {
$attr['width'] = $data['width'];
}
if ( isset( $data['height'] ) ) {
$attr['height'] = $data['height'];
}
}
if ( isset( $data['height'] ) ) {
$attr['height'] = $data['height'];
}
}

View File

@ -396,6 +396,10 @@ function generate_get_footer_entry_meta_items() {
$items[] = 'post-navigation';
}
if ( ! is_singular() ) {
$items = array_diff( (array) $items, array( 'post-navigation' ) );
}
// Disable post meta items based on their individual filters.
$items = generate_disable_post_meta_items( $items );

View File

@ -0,0 +1,111 @@
<?php
/**
* Post meta elements.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
add_action( 'wp_footer', 'generate_do_search_modal' );
/**
* Create the search modal HTML.
*/
function generate_do_search_modal() {
if ( ! generate_get_option( 'nav_search_modal' ) ) {
return;
}
?>
<div class="gp-modal gp-search-modal" id="gp-search">
<div class="gp-modal__overlay" tabindex="-1" data-gpmodal-close>
<div class="gp-modal__container">
<?php do_action( 'generate_inside_search_modal' ); ?>
</div>
</div>
</div>
<?php
}
add_action( 'generate_menu_bar_items', 'generate_do_search_modal_trigger' );
/**
* Create the search modal trigger.
*/
function generate_do_search_modal_trigger() {
if ( ! generate_get_option( 'nav_search_modal' ) ) {
return;
}
?>
<span class="menu-bar-item">
<a href="#" role="button" aria-label="<?php _e( 'Open search', 'generatepress' ); ?>" data-gpmodal-trigger="gp-search"><?php echo generate_get_svg_icon( 'search', true ); // phpcs:ignore -- Escaped in function. ?></a>
</span>
<?php
}
add_filter( 'generate_enable_modal_script', 'generate_enable_search_modal' );
/**
* Enable the search modal.
*/
function generate_enable_search_modal() {
return generate_get_option( 'nav_search_modal' );
}
add_action( 'generate_base_css', 'generate_do_search_modal_css' );
/**
* Do the modal CSS.
*
* @param Object $css The existing CSS object.
*/
function generate_do_search_modal_css( $css ) {
if ( ! generate_get_option( 'nav_search_modal' ) ) {
return;
}
$css->set_selector( '.search-modal-fields' );
$css->add_property( 'display', 'flex' );
$css->set_selector( '.gp-search-modal .gp-modal__overlay' );
$css->add_property( 'align-items', 'flex-start' );
$css->add_property( 'padding-top', '25vh' );
$css->add_property( 'background', 'var(--gp-search-modal-overlay-bg-color)' );
$css->set_selector( '.search-modal-form' );
$css->add_property( 'width', '500px' );
$css->add_property( 'max-width', '100%' );
$css->add_property( 'background-color', 'var(--gp-search-modal-bg-color)' );
$css->add_property( 'color', 'var(--gp-search-modal-text-color)' );
$css->set_selector( '.search-modal-form .search-field, .search-modal-form .search-field:focus' );
$css->add_property( 'width', '100%' );
$css->add_property( 'height', '60px' );
$css->add_property( 'background-color', 'transparent' );
$css->add_property( 'border', 0 );
$css->add_property( 'appearance', 'none' );
$css->add_property( 'color', 'currentColor' );
$css->set_selector( '.search-modal-fields button, .search-modal-fields button:active, .search-modal-fields button:focus, .search-modal-fields button:hover' );
$css->add_property( 'background-color', 'transparent' );
$css->add_property( 'border', 0 );
$css->add_property( 'color', 'currentColor' );
$css->add_property( 'width', '60px' );
return $css;
}
add_action( 'generate_inside_search_modal', 'generate_do_search_fields' );
/**
* Add our search fields to the modal.
*/
function generate_do_search_fields() {
?>
<form role="search" method="get" class="search-modal-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label class="screen-reader-text"><?php echo apply_filters( 'generate_search_label', _x( 'Search for:', 'label', 'generatepress' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></label>
<div class="search-modal-fields">
<input type="search" class="search-field" placeholder="<?php echo esc_attr( apply_filters( 'generate_search_placeholder', _x( 'Search &hellip;', 'placeholder', 'generatepress' ) ) ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
<button aria-label="<?php echo esc_attr( apply_filters( 'generate_search_button', _x( 'Search', 'submit button', 'generatepress' ) ) ); ?>"><?php echo generate_get_svg_icon( 'search' ); // phpcs:ignore -- Escaped in function. ?></button>
</div>
<?php do_action( 'generate_inside_search_modal_form' ); ?>
</form>
<?php
}

View File

@ -5,8 +5,8 @@ License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options
Requires at least: 5.2
Tested up to: 6.1
Stable tag: 3.2.4
Tested up to: 6.2
Stable tag: 3.3.0
GeneratePress is a lightweight WordPress theme built with a focus on speed and usability.
@ -99,38 +99,44 @@ MIT License: https://github.com/JedWatson/react-select/blob/master/LICENSE
== Changelog ==
= 3.2.4 =
= 3.3.0 =
Release date: November 22, 2022
* Feature: Add navigation search modal
* Fix: PHP 8.1 filter_input notice
* Fix: Comment fields PHP 8.1 notice
* Fix: Empty footer post meta
* Fix: PHP 8.1 warning in GeneratePress_Typography:get_css
* Fix: Color picker callback update not re-rendering the component
* Fix: Don't apply block margin to core Heading
* Fix: Editor width when changing previews
* Fix: Allow rgb() color values
* Fix: JS error when toggling empty mobile menu
* Fix: PHP notice when using SVG as normal and retina logo
* Tweak: Allow sub-menus to open using the spacebar
* Tweak: Increase .has- class specificity
= 3.2.4 =
* Fix: Kebab-case formatting for global colors variable names
= 3.2.3 =
Release date: November 17, 2022
* Fix: Global color picker positioning
= 3.2.2 =
Release date: November 8, 2022
* Fix: Typography system unit picker popover position
* Fix: Typography system state update possible infinite loop
* Fix: Editor content width when using large content padding values
= 3.2.1 =
Release date: October 27, 2022
* Fix: WooCommerce single product schema itemtype
* Fix: Post title font properties in the editor
* Fix: Error in Customizer when Google Fonts disabled
= 3.2.0 =
Release date: October 25, 2022
* Feature: Re-order global colors in the Customizer
* Feature: Add live preview to global color changes in Customizer
* Feature: Add font-style option to Typography
@ -155,31 +161,23 @@ Release date: October 25, 2022
= 3.1.3 =
Release date: February 9, 2022
* Fix: Adjust editor block width selector to fix compatibility with GP Premium
* Fix: Missing editor styles when viewing tablet/mobile previews in Firefox
* Fix: Missing Google Fonts API request when viewing tablet/mobile previews in the editor
= 3.1.2 =
Release date: January 31, 2022
* Fix: Align-full alignment in the editor
* Fix: Missing editor text colors in responsive views
= 3.1.1 =
Release date: January 17, 2022
* Fix: Color picker UI in WP 5.9
* Fix: Translations using javascript
* Fix: Layout panel link inside the Start Customizing Dashboard
= 3.1.0 =
Release date: October 26, 2021
* New: Global color system
* New: Add all theme color options to free theme
* New: Re-build color options in the Customizer
@ -214,21 +212,15 @@ Release date: October 26, 2021
= 3.0.4 =
Release date: July 12, 2021
* Tweak: Apply default Group block padding to blocks in the content area only.
= 3.0.3 =
Release date: March 2, 2021
* Fix: is-dark-theme class in editor in WP 5.7
* Fix: Saving footer widget post meta in editor
= 3.0.2 =
Release date: October 14, 2020
* Fix: Missing logo when site title/tagline are empty but not disabled
* Fix: Widget content font-size value missing when using default
* Fix: Centered top bar text alignment on mobile
@ -237,8 +229,6 @@ Release date: October 14, 2020
= 3.0.1 =
Release date: October 8, 2020
* Fix: Custom navigation search height
* Fix: Missing sub-menu on RTL sites with sub-menu set to open right
* Fix: RTL order of default flexbox mobile menu
@ -253,8 +243,6 @@ Release date: October 8, 2020
= 3.0.0 =
Release date: October 6, 2020
* New: Flexbox layout option - see blog post for more info
* New: Default mobile header when using aligned nav + flexbox layout
* New: generate_before_do_template_part hook
@ -369,356 +357,6 @@ Release date: October 6, 2020
* Template change: Removed generate_do_microdata() from sidebar.php and sidebar-left.php
* Template changes: Added generate_do_template_part() to all templates with a loop
= 2.4.2 =
Release date: March 17, 2020
* Fix: Block editor classes changed in WordPress 5.4
* Fix: More specific heading selectors in block editor
= 2.4.1 =
Release date: November 26, 2019
* Tweak: Use mobile content padding in Group block on mobile
* Fix: Captions in the block editor
= 2.4.0 =
Release date: November 20, 2019
* New: generate_inside_site_container hook
* New: generate_before_comments_container hook to pages
* New: generate_after_comment_text hook
* New: generate_after_comment_text hook
* New: generate_inside_featured_image_output filter
* New: generate_inside_post_meta_item_output filter
* New: generate_term_separator filter
* New: generate_svg_icon_element filter
* New: generate_before_page_title hook
* New: generate_after_page_title hook
* New: generate_media_queries filter
* New: generate_post_navigation_args filter
* New: aria-label added to navigation search button (a11y)
* New: Add support for navigation search colors
* New: Apply container width to group block inner container
* Tweak: Allow for custom post meta items
* Tweak: Add screen reader text to mobile menu button if no text exists (a11y)
* Tweak: Move comment reply link to below comment text
* Tweak: Remove margin from .blocks-gallery-grid class
* Tweak: Clean up rtl.css
* Tweak: Get all Google fonts only once in Customizer
* Tweak: Set variable with get_template_directory() in functions.php
* Tweak: Remove comments link on single posts using CSS only
* Tweak: Add line-height to headings in block editor
* Tweak: Use featured image alt instead of post title (a11y)
* Tweak: Add space between read more and screen reader text (a11y)
* Tweak: Improve Customizer control styling
* Tweak: Hide comments link on single posts using CSS only
* Tweak: Increase space between mobile menu icon + text when using SVG
* Tweak: Use default block editor color palette
* Fix: Sidebar spacing in rtl.css
* Fix: Inability to set "Default" as sidebar layout in Gutenberg
= 2.3.2 =
Release date: June 25, 2019
* Fix: Don't include font icon requests in cached CSS
= 2.3.1 =
Release date: June 25, 2019
* Fix: Touch issue with sub-menus using "Click - Menu Item" option
= 2.3 =
Release date: June 18, 2019
* New: Add SVG icon option
* New: Add option to inline the logo and site branding
* New: Add combine CSS option
* New: Add container alignment option
* New: Add generate_header_entry_meta_items filter for defining/ordering header entry meta
* New: Add generate_footer_entry_meta_items filter for defining/ordering footer entry meta
* New: Add generate_header_items_order filter to order header elements
* New: Add wp_body_open hook
* New: Add generate_after_primary_menu hook
* New: Add generate_mobile_menu_media_query filter
* New: Add generate_after_loop hook
* New: Add generate_show_block_editor_styles filter
* New: Add generate_google_font_display filter
* New: Add support for future mobile separating space option
* Tweak: Remove footer widget placeholders
* Tweak: Properly filter comment_form() defaults
* Tweak: Check for container_class variable existence
* Tweak: Align header to center on mobile even if aligned right
* Tweak: Check for option existence in generate_get_option()
* Tweak: Simplify separate container margin CSS
* Tweak: Make navLinks a11y selector more specific
* Tweak: Hook archive description in so it can be moved
* Tweak: Set X-UA-Compatible in wp_headers filter
* Tweak: Move Layout metabox to the sidebar by default
* Tweak: Use generate_not_mobile_menu_media_query filter in nav drop point
* Tweak: Target headings in blocks not necessarily in core heading block
* Tweak: Increase tap targets of entry meta on mobile
* Tweak: Remove negative margin from align-wide/full items when they're first block
* Fix: generate_search_label filter
* Fix: Sub-menu direction in right sidebar
* Fix: Heading selector in block editor
* Fix: Sub-menu dropdown on tablets/touch screens
* Fix: Sub-menu dropdown click issue when no menu location is set
= 2.2.2 =
Release date: January 30, 2019
* New: Add support for responsive embeds (videos etc..)
* Fix: Background/text color conflict in block editor if content background is using rgba
* Fix: Remove aria-expanded attribute from menu dropdown arrows when no menu is set
* Fix: Notice in block editor when h5 font size is set
* Fix: Notice if right/left content padding values are non-numeric
* Fix: Microdata spelling of WPSideBar
* Fix: Align-full alignment issue in block editor when Gutenberg plugin is active
* Fix: Shortcode block label text color when using light text
* Fix: Content title color in Gutenberg while in code editor
= 2.2.1 =
Release date: November 21, 2018
* Fix: Change h4-h6 margin-bottom back to 20px
* Fix: Prevent content link option from applying to block editor button
* Tweak: Change dropdown menu arrow role when no menu is set
* Tweak: Replace last generate_get_setting() instance with generate_get_option()
= 2.2 =
Release date: November 19, 2018
* New: Sub-menu direction option
* New: Floated navigation drop point option
* New: Logo width option
* New: Content title color option
* New: Blog post title color option
* New: H1-H3 typography options
* New: generate_comment_form_title filter
* New: Header Presets control inside the Customizer
* New: Navigation Color Presets control inside the Customizer
* New: generate_entry_meta_post_types filter
* New: generate_footer_meta_posts_types filter
* New: Add paragraph bottom margin to Gutenberg blocks
* New: Add .alignwide and .alignfull class for Gutenberg blocks
* New: Styling for Gutenberg gallery block
* New: Add frontend styling to Gutenberg editor
* New: Add defaults for H1-H3 bottom margin options
* New: generate_show_default_sidebar_widgets filter
* New: generate_schema_type filter
* New: generate_{context}_microdata filters
* Tweak: Output theme microdata using generate_do_microdata()
* Tweak: Replace individual element class functions with generate_do_element_classes()
* Tweak: Major PHP code cleanup
* Tweak: Replace generate_get_setting() with generate_get_option()
* Tweak: Remove default text-align: left from site header
* Tweak: Only add navigation alignment class to body if necessary
* Tweak: Major style.css cleanup
* Tweak: Remove different sub-menu width if in sidebar
* Tweak: Set navigation search height (fixes full height nav search on mobile/in sidebars)
* Tweak: Change Delete Customizer Settings button text to Reset
* Tweak: Add quick Customize links to GP Dashboard
* Tweak: Give H4-H6 elements the paragraph bottom margin
* Tweak: Don't close mobile menu when item is tapped
* Tweak: Simplify a11y outline script
* Tweak: Keep mobile sub-menus open if mobile toggle is closed
* Tweak: Replace default sidebar widget content in template files with generate_do_default_sidebar_widgets()
* Tweak: Clean up extra spaces in footer class attribute
* Fix: screen-reader-text class conflicts with some plugins
* Deprecated: generate_get_setting()
* Deprecated: generate_right_sidebar_class()
* Deprecated: generate_get_right_sidebar_class()
* Deprecated: generate_left_sidebar_class()
* Deprecated: generate_get_left_sidebar_class()
* Deprecated: generate_content_class()
* Deprecated: generate_get_content_class()
* Deprecated: generate_header_class()
* Deprecated: generate_get_header_class()
* Deprecated: generate_inside_header_class()
* Deprecated: generate_get_inside_header_class()
* Deprecated: generate_container_class()
* Deprecated: generate_get_container_class()
* Deprecated: generate_navigation_class()
* Deprecated: generate_get_navigation_class()
* Deprecated: generate_inside_navigation_class()
* Deprecated: generate_menu_class()
* Deprecated: generate_get_menu_class()
* Deprecated: generate_main_class()
* Deprecated: generate_get_main_class()
* Deprecated: generate_footer_class()
* Deprecated: generate_get_footer_class()
* Deprecated: generate_inside_footer_class()
* Deprecated: generate_top_bar_class()
* Deprecated: generate_body_schema()
* Deprecated: generate_article_schema()
= 2.1.4 =
Release date: August 21, 2018
* Tweak: Update theme screenshot to be within new WordPress.org rules
= 2.1.3 =
Release date: July 3, 2018
* Tweak: Set blog index content to show excerpts by default
* Tweak: Darken default post meta colors for better contrast (a11y)
* Tweak: Darken default site tagline color for better contrast (a11y)
* Tweak: Add slight opacity to post meta icons
* Tweak: Set post meta font size to 100% on mobile (SEO)
* Tweak: Various WP Coding Standard tweaks
* Tweak: Update default copyright message
* Tweak: Reduce author archives avatar margin
= 2.1.2 =
Release date: May 16, 2018
* Tweak: Add support for new comment cookie checkbox in WP 4.9.6
= 2.1.1 =
Release date: May 7, 2018
* Tweak: Improve baseline of theme icons
* Tweak: Prevent JS error if back to top button HTML doesn't exist
* Fix: Mobile menu item alignment on RTL sites
* Fix: Clearing issue in full width footer bar areas
= 2.1 =
Release date: May 2, 2018
* New: Structured data to comments
* New: aria-label to sidebar navigation mobile menu
* New: Update all theme icons
* New: generate_metabox_tabs filter
* New: generate_after_footer hook
* New: generate_before_comments_container hook
* Tweak: Simplify mobile menu CSS
* Tweak: Load updated date before published date
* Tweak: Force array in Layout metabox to prevent PHP notices
* Tweak: Use https for schema.org references
* Tweak: Replace wildcard CSS selectors with specific selectors
* Tweak: Remove list item bullets in sidebar and footer widgets only
* Tweak: Make button/input line height consistent with link buttons
* Tweak: Add version to database for future migrations
* Tweak: Move back to top button to generate_after_footer
* Tweak: Remove focus class from menu items on click if leaving site
* Tweak: Keep tab focus inside navigation search when open
* Tweak: Remove roles from sidebars
* Fix: Sidebar sub-menu positioning after click
* Fix: Rare Customizer JS error related to typography
* Fix: Various small W3 errors
* Fix: Navigation aria-hidden issue
* Remove: Font Awesome Essentials HTTP request
* Remove: dropdown.js HTTP request
* Remove: IE6 CSS
* Remove: Secondary navigation CSS added to GPP 1.6
* Remove: Secondary navigation JS
= 2.0.2 =
Release date: January 17, 2018
* Fix: Double tap issue in sub-menus on iOS devices
* Fix: Secondary nav sub-menu positioning in sidebars
= 2.0.1 =
Release date: December 14, 2017
* Fix: PHP notice in Customizer using multisite
* Fix: Retina logo container width in Firefox
* Fix: RTL dropdown menu issue
* Fix: undefined .closest() error
* Fix: Mobile sub-menu issue when no theme location is set
* Fix: Various small dropdown menu issues
= 2.0 =
Release date: December 6, 2017
* New: Full web accessibility
* New: All jQuery replaced with vanilla javascript
* New: System stack font set to default
* New: H6 typography options
* New: Option to turn on Font Awesome essentials
* New: Font Awesome set to essentials by default
* New: Retina logo option
* New: Cache dynamic CSS
* New: Option to enable/disable dynamic CSS caching
* New: Merge all separate metaboxes into one master metabox
* New: generate_dashboard_page_capability filter
* New: generate_dashboard_inside_container hook
* New: generate_dashboard_after_header hook
* New: generate_after_primary_content_area hook
* New: generate_show_post_navigation filter
* Tweak: PHP performance profiled and improved
* Tweak: generate_sidebars hook removed ** Update your child themes *
* Tweak: Style select inputs the same as other inputs
* Tweak: Archive titles same font size as other h1 elements
* Tweak: Add accessibility to read more links
* Tweak: Add alt tag to featured images
* Tweak: Remove title tag from featured images
* Tweak: Make mobile menu keyboard accessible
* Tweak: Make dropdown menu types keyboard accessible
* Tweak: Make dropdown toggle arrow larger on mobile
* Tweak: Load style.min.css instead of style.css
* Tweak: Clean up minified Font Awesome file
* Tweak: Comments title screen reader text set to h2
* Tweak: Remove margin from last author info paragraph
* Tweak: Adjust mobile menu icon position
* Tweak: Load admin-specific files in the admin only
* Tweak: Move skip to content link into hook and remove from header.php
* Tweak: Add screen reader labels to comment form fields
* Tweak: Change widget titles to h2 elements
* Tweak: Remove existing separate meta boxes
* Tweak: File structure completely re-organized
* Tweak: Code re-written to adhere to WordPress coding standards
* Tweak: Fix mobile nav search position on RTL sites
* Tweak: Make footer bar menu widget RTL compatible
* Tweak: Set comment website field as URL input type
* Tweak: Set comment email field as email input type
* Tweak: Use WP defaults for comment must_log_in and logged_in_as messages
* Tweak: Fix admin notice position in GP Dashboard
* Tweak: Let WP figure out featured image alt attribute
* Fix: Button text color in content when content link is set
* Fix: Left aligned footer bar alignment
* Fix: Spacing when sticky nav is activated
* Fix: Header alignment in RTL languages
* Fix: Tablet/desktop grid bug
* Fix: Header inner width live preview bug
* Deprecated: generate_get_min_suffix()
* Deprecated: generate_add_layout_meta_box()
* Deprecated: generate_show_layout_meta_box()
* Deprecated: generate_save_layout_meta()
* Deprecated: generate_add_footer_widget_meta_box()
* Deprecated: generate_show_footer_widget_meta_box()
* Deprecated: generate_save_footer_widget_meta()
* Deprecated: generate_add_page_builder_meta_box()
* Deprecated: generate_show_page_builder_meta_box()
* Deprecated: generate_save_page_builder_meta()
* Deprecated: generate_add_de_meta_box()
* Deprecated: generate_show_de_meta_box()
* Deprecated: generate_save_de_meta()
* Deprecated: generate_add_base_inline_css()
* Deprecated: generate_color_scripts()
* Deprecated: generate_typography_scripts()
* Deprecated: generate_spacing_scripts()
* Deprecated: generate_leave_reply
* Deprecated: generate_cancel_reply
= Earlier versions =
For the changelog of earlier versions, please refer to our [development log](https://generatepress.com/category/changelog/).

View File

@ -4,16 +4,16 @@ Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.2.4
Version: 3.3.0
Requires at least: 5.2
Tested up to: 6.1
Tested up to: 6.2
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options
GeneratePress, Copyright 2014-2022 EDGE22 Studios LTD.
GeneratePress, Copyright 2014-2023 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL
GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2022 Automattic, Inc.