WordPress wp-events plugin breaking the dashboard

I run a WordPress based website that uses the wp-events plugin to manage a calendar of events. It’s been mostly working well, but recently after some update of WordPress, and I’m not sure which one, I found that on the Dashboard page of my WordPress site that I wasn’t able to toggle the various modules to expand or collapse them.  By a process of trial and error and comparing a few different WordPress sites that I have access to I found that the problem was the wp-events plugin – if I deactivated the plugin my problem on the dashboard page went away.

Unfortunately the wp-events plugin is no longer actively maintained, the author having moved on to other things, so I decided to see if I could locate/fix the problem.

Be warned – although I am an experienced programmer, I am a complete newbie in the world of WordPress plugin development, so there’s no guarantee that my ‘fix’ below won’t do really bad things.

Anyway, again by a process of trial and error, commenting out various bits of the plugin code I found that commenting out a single line of code in the wp-events-functions.php file fixed the problem …

function events_editor_admin_init() {
  wp_enqueue_script('word-count');
#  wp_enqueue_script('post');
  wp_enqueue_script('editor');
  wp_enqueue_script('media-upload');
}

After making this change, deactivating and reactivating the plugin, my dashboard was working again, and the events plugin appears to be working the same as before.

Conjecture mode ON

As far as I can tell this function is including a link to a script file in the page for the purpose of enabling rich text functionality in the event editor form, but I suspect that some update to WordPress made linking to this script redundant, and worse made it break stuff because different scripts were being loaded in the wrong order

Conjecture mode OFF

Leave a Reply

Comments on this site are moderated and will not appear until approved by the website owner. Your email address will not be published. Required fields are marked *