Posted: October 6, 2014 at 1:48 pm
|
FYI, There seems to be a plugin conflict with the plugin WP-EMail plugin (Version: 2.63 Author: Lester ‘GaMerZ’ Chan). When WP-EMail is installed, when a user tries to register for a course using EE 3, somehow the function gets picked up by WP-EMail, and has you send the event to a friend. You never see the payment confirmation pages. When I disable the WP-EMail plugin, EE works correctly. Looks like maybe EE and WP-EMail have the same name for a function or something so it calls the WP-EMail function instead of the correct EE function, but I’m not sure. I haven’t looked at the code. My site is PaulPehrson.com. I’m using the following EE plugins: EE (Core) v. 3.1.36.6P |
Hi Paul, Whats happening here is WP-Email is checking $wp_query->query_vars for ’email’ and if it exists, completely takes over and re-directs the user to the WP-Email form. If you notice when you go to /event-registration/ there is no problem, when you enter the registration page (which is still on the /event-registration/ page) again no problem. It is when you have entered your Personal info (specifically email) Event Espresso passes this using query_vars, email is part of that and WP-Email does this: ### Function: Load WP-EMail add_action('template_redirect', 'wp_email', 5); function wp_email() { global $wp_query; if( array_key_exists( 'email' , $wp_query->query_vars) ) { include(WP_PLUGIN_DIR.'/wp-email/email-standalone.php'); exit(); } elseif( array_key_exists( 'emailpopup' , $wp_query->query_vars ) ) { include(WP_PLUGIN_DIR.'/wp-email/email-popup.php'); exit(); } } So any plugin that passes ’email’ will be re-directed, with no easy way to override this. The quick fix is to modify the function to do something like this: ### Function: Load WP-EMail add_action('template_redirect', 'wp_email', 5); function wp_email() { global $wp_query; if( array_key_exists( 'email' , $wp_query->query_vars) && !is_page( 'event-registration' ) ) { include(WP_PLUGIN_DIR.'/wp-email/email-standalone.php'); exit(); } elseif( array_key_exists( 'emailpopup' , $wp_query->query_vars ) ) { include(WP_PLUGIN_DIR.'/wp-email/email-popup.php'); exit(); } } ‘event-registration’ should be changed to whatever your [ESPRESSO_EVENTS] page is although there may be more pages this is needed on. However this is not a recommended fix, nor can we provide further support for this unfortunately. The WP-Email plugin ideally needs to add a filter to that function to allow you to set ‘excluded’ pages from their redirect which will remove the need to modify core files/functions. |
|
Hi Paul, We discussed this further and @Josh had the idea to simply remove the action on template_redirect for registration pages so we’ve put together a little function to do just that. https://gist.github.com/Pebblo/14c735131cf6c969c24f You can add that to your themes functions.php file or a site specific pluginhowever be aware of the plugins load order for the is you do so as it will make a difference to the function. This way your not editing core files just remove and action that the plugin created. |
|
The support post ‘Plugin conflict with WP-EMail plugin’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.