Plugin Compatibility
Normally, EME is totally compatible with other plugins, but some might need some tweaking. Here are some tips (your mileage may vary, no guarantee):
First: for all caching plugins: disable the caching of the special events page.
Next:
WP-Minify
You need to exclude the EME javascripts from WP-Minify, otherwise you will not get the locations map. The scripts that need to be excluded are
wp-content/plugins/events-made-easy/js/client-clock.js
wp-content/plugins/events-made-easy/js/eme.js
wp-content/plugins/events-made-easy/js/eme_show_maps.js
Autoptimize
You need to exclude the following JS:
wp-content/plugins/events-made-easy/js/client-clock.js
wp-content/plugins/events-made-easy/js/eme.js
wp-content/plugins/events-made-easy/js/eme_show_maps.js
and excluded CSS: events_manager.css
Wp-Rocket
Make sure to uncheck “Minify/combine JS” and “Defer JS” for the special Events Page to get the payment-button loaded after booking.
Polylang
The special Events page should not have a polylang language assigned to it, otherwise that language will always be taken for events. So, if that is by accident the case execute the following steps:
– deactivate polylang and events made easy plugins
– remove the events pages (in all languages, also from draft and trash)
– reactivate EME (this will create a new events page without language assigned to it)
– reactivate polylang
Yoast
EME tries to remove Yoast headers for the special events page. If that doesn’t work, try the method below to remove the Opengraph (and optionally twitter) headers generated by Yoast for EME events.
Add this to your functions.php (add all filters wanted, see the Yoast documentation and as a shortlist https://bydik.com/remove-yoast-seo-meta-tags/ ) :
function eme_remove_yoast($myfilter) {
if ( eme_is_single_event_page() || eme_is_single_location_page() ) {
return false;
}
return $myfilter;
}
add_filter ('wpseo_json_ld_output', 'eme_remove_yoast');
add_filter ('wpseo_canonical', 'eme_remove_yoast');
add_filter ('wpseo_metadesc', 'eme_remove_yoast');
add_filter ('wpseo_metakeywords', 'eme_remove_yoast');
add_filter ('wpseo_locale', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_title', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_desc', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_url', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_type', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_image', 'eme_remove_yoast');
add_filter ('wpseo_opengraph_show_publish_date', 'eme_remove_yoast');
add_filter( 'wpseo_title', 'eme_html_title' );
The last filter (wpseo_title) is currently specific for the latest Yoast version, and if you use it you may want to add your sitename to the EME settings called “Single event html title format” and “Single location html title format” (reason: this filter does not add the sitename by default to your html title).
As a last step: if the YOAST SEO plugin is in use, then the default EME Events Page should NOT have any text in the Meta Description within YOAST SEO settings for this page.
The SEO Framework
The SEO Framework adds its own canonical urls while EME adds them also. Since the one from The SEO Framework are related to the “special” events page, they should be removed. This small snippet in your theme functions.php will help (see also https://theseoframework.com/docs/api/filters/ ):
add_filter( 'the_seo_framework_query_supports_seo', function( $supported ) {
if (eme_is_single_event_page() || eme_is_single_location_page()) {
$supported = false;
}
return $supported;
} );