Displaying a message when plug-in is deactivated

Actually, there’s a better way.

All of my plugins require PHP5. Until recently, that wasn’t a requirement in WordPress, so a lot of people tried to install my plugins on systems missing vital PHP functions. I added some checks to my plugin to make sure it would work and, if not, display a message.

But I keep the plugin active. It just doesn’t function. That way, the message sits there until either the user takes action to update their server or deactivates my plugin.

Here’s the gist of what I do …

function _my_plugin_php_warning() {
    echo '<div id="message" class="error">';
    echo '  <p>My Plugin requires at least PHP 5.  Your system is running version ' . PHP_VERSION . ', which is not compatible!</p>';
    echo '</div>';
}

if ( version_compare( PHP_VERSION, '5.0', '<' ) ) {
    add_action('admin_notices', '_my_plugin_php_warning');
} else {
    require_once( 'lib/class.my_plugin_core_functions.php' );
}

I put this code in the main PHP file for my plugin. Then, whenever the site loads, my plugin checks to make sure the site has the right version of PHP and either loads the rest of its required files (the require_once() call) or adds a notice to the admin section (the add_action() call).