J'utilise le code suivant pour désactiver mon plugin WordPress si les conditions requises ne sont pas remplies
public function activate() {
if (!$this->check_requirements()) {
deactivate_plugins(plugin_basename(__FILE__));
wp_redirect(admin_url('plugins.php'));
exit;
}
}
La fonction activate () est appelée lorsque le plug-in est activé. Je souhaite ajouter un message à l'utilisateur pour lui expliquer ce qui s'est passé. Y-a-t-il un moyen de faire ça?
En fait, il y a un meilleur moyen.
Tous mes plugins nécessitent PHP5. Jusqu'à récemment, ce n'était pas une obligation dans WordPress, alors beaucoup de gens ont essayé d'installer mes plugins sur des systèmes manquant de fonctions vitales PHP. J'ai ajouté des vérifications à mon plugin pour m'assurer que cela fonctionnerait et, sinon, afficher un message.
Mais je garde le plugin actif. Il ne fonctionne tout simplement pas. De cette façon, le message reste là jusqu'à ce que l'utilisateur agisse pour mettre à jour son serveur ou désactive mon plugin.
Voici l'essentiel de ce que je fais ...
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' );
}
J'ai mis ce code dans le fichier principal PHP de mon plugin. Ensuite, chaque fois que le site se charge, mon plug-in vérifie que le site dispose de la bonne version de PHP et charge le reste de ses fichiers requis (appel require_once()
) ou ajoute une notification à la section admin ( l'appel add_action()
).