Event Espresso and WordPress 5.0

As many of our customers know, Event Espresso is a plugin for WordPress which means we are very dependent on what happens in the WordPress ecosystem. For the last two years, WordPress has been developing a new page/post editor code-named “Gutenberg” and it’s slated to be released December 6, 2018, with the release of WordPress 5.0.

WordPress Gutenberg

Here at Event Espresso, we’re really excited for the new page/post editor coming to WordPress and we’ve been investing time over the last year in preparing our plugin for the changes. In this article, I want to share with you what you can expect with Event Espresso when you upgrade your site to WordPress 5.0, and also give you a little bit of a preview into what we’re working on for the coming months.

In the course of preparing for WordPress 5.0, we have:

  • Created a new JavaScript framework for all future new development to use, which allows us to develop JavaScript with a more modern toolset. We’re developing the Recurring Events Add-on using this new framework.
  • Created a framework (in PHP) for integrating with the new WordPress page/post editor which will allow us to iterate more rapidly.
  • Created the first (of many) Event Espresso blocks for use with the new page/post editor (more below).

What will happen with Event Espresso (and add-ons) with WP 5.0?

The short answer is Event Espresso will continue to work as it does now!

The interfaces you are used to in the Event Espresso admin are going to continue to work as they always have. The Gutenberg page/post editor does not affect our existing event editor and you will not need to install the WordPress classic editor plugin to continue to use Event Espresso (but you still can if you want). All the existing shortcodes for Event Espresso core and the add-ons will still work the same as they always have in both the classic editor and in the new WordPress page/post editor.

The new WordPress page/post editor has a shortcode block that our shortcodes work just fine with, so have no plans to deprecate any of our existing shortcodes and they will continue to work for as long as WordPress still supports shortcodes. However, going forward, we will not be doing any new feature development (we’ll still fix any bugs that surface) on shortcodes and will be focusing our efforts on using the Gutenberg blocks system for inserting Event Espresso related content into pages and posts, etc.

Blocks and more blocks!

One of the exciting things about the new WordPress page/post editor is the introduction of the concept of “blocks.” In the new page/post editor, you can insert and manipulate various types of contents via these blocks. The utility of this is fascinating because it allows you not only more precisely to position the content where you want it, but you can also see more accurate previews of what the content looks like in its final form. For things that were traditionally added via WordPress shortcodes, this makes for a more useful interface for inserting and updating content.

Blocks in the WordPress Gutenberg editor

In version 4.9.71 of Event Espresso, we have released our first block for the new Event Espresso editor. The Event Attendees block allows you to easily insert a list of attendees from any designated event, datetime, or ticket, from anywhere in your content in a post, page or another post type that supports the new WordPress page/post Editor

Attendee Block example in the post editor

In future releases of Event Espresso, we will be continuing to add to the library of Event Espresso blocks for the new page/post editor.

Future Event/Venue/Contact editor.

The new page/post editor in WordPress is very much in line with some of the ideas we’ve been thinking through regarding future iterations of the critical event editors in our events plugin. While in the short term you will not see any immediate changes in the current Event Espresso editors, we are working on some UI/UX features to take advantage of the improvements that Gutenberg offers for editing and managing your events.

Currently, the Recurring Events Add-on is the first feature in development, and once that’s launched we plan on starting to iterate on redesigning and implementing some fairly dramatic changes to the current event creation/management process using many of the same principles introduced by the new WordPress editor.

Developers

There are a number of changes under the hood and you will want to read an overview of some of those changes over on our Event Espresso Developer’s blog.

Wrapping Up

We hope that you are as excited about Gutenberg as we are. We are especially interested in hearing from our customers about the Gutenberg features we have planned. Please let us know your thoughts in the comments below.

Related Articles

2 thoughts on “Event Espresso and WordPress 5.0

Share a Reply or Comment

Your email address will not be published. Required fields are marked *

Need help with Event Espresso? Create a support post in our support forums

Do NOT follow this link or you will be banned from the site!
[gravityform id=116 title=false description=false]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_116' ><form method='post' enctype='multipart/form-data' id='gform_116' action='/2018/12/event-espresso-and-wordpress-5-0/'> <div class='gform_body'><ul id='gform_fields_116' class='gform_fields top_label form_sublabel_below description_below'><li id='field_116_5' class='gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' >What is your first name?<span class='gfield_required'>*</span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_116_5'> <span id='input_116_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_116_5_3' value='' aria-label='First name' aria-required="true" aria-invalid="false" placeholder='First name'/> <label for='input_116_5_3' class='hidden_sub_label screen-reader-text'>First name</label> </span> </div></li><li id='field_116_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_116_1' >What is your email address so we can follow up with you?<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_116_1' type='text' value='' class='medium' placeholder='hello@example.com' aria-required="true" aria-invalid="false" /></div></li><li id='field_116_2' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_116_2' >Tell us about your concerns below<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_2' id='input_116_2' class='textarea medium' placeholder='What kind of events are you planning?' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li><li id='field_116_6' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' >GDPR Agreement</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_116_6'><li class='gchoice_116_6_1'> <input name='input_6.1' type='checkbox' value='I consent to have this website store my submitted information so they can respond to my inquiry.' id='choice_116_6_1' /> <label for='choice_116_6_1' id='label_116_6_1'>I consent to have this website store my submitted information so they can respond to my inquiry.</label> </li></ul></div></li><li id='field_116_3' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_3' id='input_116_3' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_116_4' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_4' id='input_116_4' type='hidden' class='gform_hidden' aria-invalid="false" value='https://eventespresso.com/2018/12/event-espresso-and-wordpress-5-0/' /></li><li id='field_116_7' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_116_7' >Email</label><div class='ginput_container'><input name='input_7' id='input_116_7' type='text' value='' autocomplete='off'/></div><div class='gfield_description' id='gfield_description__7'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_116' class='gform_button button' value='Send my message' onclick='if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} jQuery("#gform_116").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_116' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='116' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_116' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_116' id='gform_target_page_number_116' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_116' id='gform_source_page_number_116' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 116) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [116, 1]) } ); </script>