I've encountered this issue a few times before. It's a simple matter of adding this to the top of your plugin beneath the comments block. It appears that the way plugin_basename returns the value doesn't play nicely with much else. $basename = plugin_basename(__FILE__); Then replace this line: define( 'SEND_INVITATION_PLUGIN_BASENAME', plugin_basename(__FILE__) ); With this instead: define( 'SEND_INVITATION_PLUGIN_BASENAME', $basename ); **Updated based on feedback.** So it appears you're not getting accessing to the function plugin_basename, for the sake of a temporary workaround in your plugin add this function. function the_plugin_basename($file) { $file = str_replace('\\','/',$file); // sanitize for Win32 installs $file = preg_replace('|/+|','/', $file); // remove any duplicate slash $plugin_dir = str_replace('\\','/',WP_PLUGIN_DIR); // sanitize for Win32 installs $plugin_dir = preg_replace('|/+|','/', $plugin_dir); // remove any duplicate slash $mu_plugin_dir = str_replace('\\','/',WPMU_PLUGIN_DIR); // sanitize for Win32 installs $mu_plugin_dir = preg_replace('|/+|','/', $mu_plugin_dir); // remove any duplicate slash $file = preg_replace('#^' . preg_quote($plugin_dir, '#') . '/|^' . preg_quote($mu_plugin_dir, '#') . '/#','',$file); // get relative path from plugins dir $file = trim($file, '/'); return $file; } Then in your plugin change any references to the function `plugin_basename()`, to `the_plugin_basename()` instead. This will get us past the error of not being able to call that function and with a little luck, we might see another error telling us what is going on.