WP User Integration for Event Espresso 4

ee4-wp-user-integrationWe are pleased to announce that the WP User Integration add-on is now available for Event Espresso 4. The “EE4 WP User Integration” add-on allows you to take full advantage of the WordPress user system. Create member only events and tickets, set the minimum WP User Capability for ticket purchase, create new WordPress users on registration, and more!

Get Started!
Purchase the WP User Integration add-on for Event Espresso 4.

How does it work?

You’ll be able to display member only tickets to your logged-in members; members can store personal information into the WordPress database allowing your members to quickly register for events by auto-filling in the personal information on the event registration form.

What can I do with it?

With the WP User Integration add-on for Event Espresso 4, you can give your users a special incentive by offering member only events and tickets. You can also help streamline registration, create new users when someone registers, and ensure existing customers use their existing accounts to register so you data stays clean.

  • Member Only Events – The “member only” events feature let’s you pick and choose what events are members only. Member only events still appear in your events list, but require login before allowing customers to register for the event.
  • Member Only Tickets – Makes it easy to offer member only incentives on ticket purchases.
  • Streamlined Registration for Members – Members on your site can store personal information into their profile page allowing your members to quickly register for events by auto-filling in the personal information on the event registration form.
  • Create New Users Upon Registration – This feature makes it easy to create new members upon registration.
  • User Traffic Cop – If a member is not logged, and tries to register for an event, they will be asked to login before proceeding. Basically, if the email entered already exists in the WP User database, the user is asked to log in before proceeding.
Get Started!
Purchase the WP User Integration add-on for Event Espresso 4.

How does this compare to the EE3 version?

The EE4 WP User Integration add-on was built from the ground up, seamlessly integrated with Event Espresso 4 core code using existing hooks and filters (as of EE 4.6) in the ticket selector and registration templates. Whereas the EE3 version was built into the Event Espresso 3 template system, which made it very hard to keep updates from conflicting with customizations.

Going forward, updates to the EE4 WP User Integration add-on will be seamless and not depend upon EE4 core code. This helps us to keep things updated and running more smoothly.

Please Note:  The “My Events” feature is not yet available. This means that registered members CANNOT cancel, pay for, or view events they’ve registered for in the past. This feature will be available in a later iteration.

Related Articles

13 thoughts on “WP User Integration for Event Espresso 4

  1. The description says that the add-on is included with Everything EE4 License. The question is what if I have valid Everything License PURCHASED before this add-on came out? Currently I do not see its download link inside my account.

    • The accounting system does not allow people to *change* their ticket. It’s best to present those options on the event details page.

      However, you can limit the types of tickets someone can see based on the capability requirement you add for that ticket(s).

    • We are working on Promotions and Multiple Event Registration for the next little while, but I will add your vote to ask that this be one of the enhancements to add sooner than maybe other features.

    • I should also ask:

      Are you looking for this to be a front-end page, or part of the WP User Profile? What other things do you want to see on that page?

  2. Halfway through the development of a new site and my head nearly exploded when I read this:

    Please Note: The “My Events” feature is not yet available. This means that registered members CANNOT cancel, pay for, or view events they’ve registered for in the past. This feature will be available in a later iteration.

    I cannot believe there is no way for users to see what events they’ve registered for!! And this is NOT a priority? I would think Promotions and Multi Event Registrations would certainly be secondary to such core functionality.

    So just to be clear, you are saying there is no way for users to see what events they’ve registered for and you are not currently developing this?

    • That’s correct. As of right now, there is no way for users to see what events they’ve registered for. We realize this is an important feature, but we didn’t have time to include it in the MVP (minimum viable product) release. All of the functions needed to build a “My Events Page” are available in the add-on, so it’s technically possible to add it, we just need more time plan and develop this particular feature.

Share a Reply or Comment

Your email address will not be published.

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

Event Espresso
[gravityform id=116 title=false description=false]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_116' ><form method='post' enctype='multipart/form-data' id='gform_116' action='/2015/03/wp-user-integration-for-event-espresso-4/' novalidate> <div class='gform_body 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 class="gfield_required gfield_required_asterisk">*</span></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-required='true' 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 class="gfield_required gfield_required_asterisk">*</span></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 class="gfield_required gfield_required_asterisk">*</span></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 gfield_label_before_complex' >GDPR Agreement</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_116_6'><li class='gchoice gchoice_116_6_1'> <input class='gfield-choice-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" ><div class='ginput_container ginput_container_text'><input name='input_3' id='input_116_3' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_116_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_4' id='input_116_4' type='hidden' class='gform_hidden' aria-invalid="false" value='https://eventespresso.com/2015/03/wp-user-integration-for-event-espresso-4/' /></div></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' >Phone</label><div class='ginput_container'><input name='input_7' id='input_116_7' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_116_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> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="114"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>