Sage 9.0.9 conflict with Events Manager plugin causing white screen

Working on a clients website with a theme based on Sage 9.0.9. Site is also using the Events Manager plugin (https://wp-events-plugin.com/) for displaying events.

Client site has many events that have been added to plugin provided “Event Categories” taxonomy.

When users attempt to view a specific Event Category, they are presented with a white screen.

Visiting “fakeurl.com/events” gives a list of all events.

Visiting “fakeurl.com/events/categories” lists all Event Categories.

Visiting “fakeurl.com/events/categories/eventcatname” gives a white screen

White screen page has no rendered HTML in source.

Enabling wp_debug provides no feedback and no errors are logged by PHP.

I have created a local test environment (php 7.4) and disabled all but the required plugins and themes and problem persists.

Problem is corrected by reverting to a default WP theme.

Anyone else run across a white screen issue like this? With no feedback, what else can I do to troubleshoot this issue?

Have contacted plugin developer and am waiting on feedback from them as well.

All help greatly appreciated!

It’s likely there are errors being thrown. Have you checked the actual PHP error log on disk, not just the HTML output?

Try setting WP_ENV to development, as well as WP_DEBUG.

Any luck getting hold of the error message?

1 Like

There are no errors in the PHP error log.

WP_ENV set to development as well with no change.

HOWEVER, while checking for other “White Screen” conflicts, I came across a post in regards to how Sage uses template_include which led me to some digging in the plugin code. Looks like the plugin is attempting to select a template as follows

$template = locate_template(array('page.php','index.php'),false); //category becomes a page

I have found that if I change this line in the Events Manager plugin (line 82 of /classes/em-taxonomy-frontend.php) to the following…

$template = locate_template(array(get_template_directory().'/page.php',get_template_directory().'/index.php'),false);

All works as expected. I’m not great with php, so if there’s a more elegant way to universally specify the theme’s root template directory, please let me know.

2 Likes