GeneratePress 2.0 is our first major release since we launched GeneratePress almost 4 years ago. This update is all about performance and usability.
Our goal was to give you the lightest foundation to start your websites, and we think 2.0 is exactly that. When you first install GeneratePress now, it only weighs about 30kb on the frontend!
Stats
Who doesn’t love stats? Take a look at what changed since 1.4:
- 195 commits
- 12,459 line additions
- 11,673 line deletions
No more jQuery
All of the theme javascript has been re-written from scratch. When you install the free theme now, jQuery is no longer loaded! This reduces your page size quite considerably.
Full accessibility
GeneratePress has been reviewed for accessibility, and passed all of their tests. We can now say the theme is 100% accessible!
New default font
Open Sans has been removed as the default font. We’ve switched to a simple system stack, which again reduces your page size considerably.
Font Awesome essentials
Only essential Font Awesome icons are loaded when you freshly install GeneratePress. If you need to use the entire library, you can easily turn it on in Customize > General.
Dynamic CSS caching
Many of your Customizer options write CSS for you, and output it to your pages. Instead of generating this dynamic CSS on every page load, we cache it in the database and serve the cached CSS instead. As you can imagine, this is a big performance boost.
PHP performance
We’ve profiled our PHP and removed small performance bottlenecks. These are micro-optimizations, but will increase the speed of your website.
Layout metabox
Instead of having a bunch of separate metaboxes polluting your screen as you add pages and posts, we’ve merged all of our metaboxes into one master Layout metabox.
Retina logos
We added a new option in Customize > Site Identity to upload a retina logo. This method uses srcset to show your retina logo on screens that support it.
File structure completely re-organized
We went through every single function, and re-organized how the theme code is structured. This makes the theme much easier to navigate for developers looking for specific functions etc..
WordPress coding standards
We cleaned our code up considerably, following WordPress and PHP coding standards wherever possible.
Child theme changes
In 2.0, the generate_sidebars
hook has been removed. It was causing a PHP bottleneck and hurting performance.
If you’re using a child theme with custom page templates, you will need to replace this hook with the new generate_after_primary_content_area
hook, and add the sidebars function. You can see these new elements by viewing the page.php file in 2.0.
Of course, we kept backward compatibility so your sidebars won’t disappear when you update.
Deprecated functions
We’ve deprecated some functions we no longer need.
generate_get_min_suffix()
generate_add_layout_meta_box()
generate_show_layout_meta_box()
generate_save_layout_meta()
generate_add_footer_widget_meta_box()
generate_show_footer_widget_meta_box()
generate_save_footer_widget_meta()
generate_add_page_builder_meta_box()
generate_show_page_builder_meta_box()
generate_save_page_builder_meta()
generate_add_de_meta_box()
generate_show_de_meta_box()
generate_save_de_meta()
generate_add_base_inline_css()
generate_color_scripts()
generate_typography_scripts()
generate_spacing_scripts()
Removed filters
Some filters have been removed, as they have core filters you can use instead.
generate_leave_reply
generate_cancel_reply
Full changelog
2.0.2 – January 17, 2018
- Fix: Double tap issue in sub-menus on iOS devices
- Fix: Secondary nav sub-menu positioning in sidebars
2.0.1 – 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 – 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: 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: DRY footer widget code
- 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
- Remove generate_leave_reply filter
- Remove generate_cancel_reply filter
- 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()
awesome!
Congratulation Tom.
You are the gift that keeps on giving. Love this theme, thank you for all your hard work.
excellent speed !
¡Great! ¿Are you guys planning to incorporate flexbox for the grid system? That’ll be even more awesome.
Thanks for the hard work you put into the Generatepress theme.
Yes, we’ll be moving to CSS Grid and Flexbox once heavy polyfills are no longer needed 🙂
Tom, is that CSS Grid Layout–the same as proposed by Gutenburg editor? That would seem to make the most sense.
+1 for move to flexbox.
I must be weird, but i like no jQuery solutions, anybody knows and can share more vanilla js solutions for WP backdnd and frontend? Anything in codex most often requires jQuery, like ajax calls. I’m starving for any examples ho-to do this and than in valnilla js.Sorry for poor English, kind regards 🙂
You might find this website helpful: https://plainjs.com/
Thanks from Russia Tom!)
Fantastic!
By the way, what are the icons included in Font Awesome Essentials, is there a list somewhere?
Here’s the current list: https://github.com/tomusborne/generatepress/blob/2.0/css/font-awesome-essentials.css#L52-L96
Just WOW. We already thought GeneratePress was The theme in WordPress, now it’s even better with this clever move towards nowadays needs of better web performance and loading time.
Congratz!
Thank you! 🙂
Impressive, congratulations on a job very well done! Besides the noticeable speed increase and room for retina logo’s, I really like the new clean meta box. Cheers Tom!
Thanks! Appreciate your work Tom.
Amazing job, Generate Press it’s my favorite wordpress theme <3
We love working with GP … the look to 2.0 is really good!
Have you made any changes or enhancements to the woocommerce module?
The WooCommerce module is in GP Premium. It has had some enhancements and bug fixes since release, but nothing major as of right now.