Bonjour, j'ai récemment demandé au W3TC d'implémenter un affichage de la liste des modifications "en cours de mise à jour" (très cool) dans mon plugin , mais je préférerais éviter un peu de code compliqué.
Si vous regardez en haut de ce fichier , vous verrez le code suivant:
define ( 'BMLT_CURRENT_VERSION', '2.1.16' ); // This needs to be kept in synch with the version above.
Ick. : P
Cela doit être tenu à jour, pour que la fonction puisse se situer entre votre plugin et la version stable actuelle.
J'ai parcouru le Codex et je ne le trouve pas, mais il y aGOTune fonction API permettant d'obtenir la version d'un plugin.
Des indices?
Voici une réponse avec du code qui fera ce que vous voulez: Y a-t-il un moyen pour un plug-in d'obtenir son propre numéro de version?
Il existe une fonction appelée get_plugin_data () . Essayez d’appeler cela depuis le fichier de plugin principal si vous avez besoin de:
$plugin_data = get_plugin_data( __FILE__ );
$plugin_version = $plugin_data['Version'];
Mais comme il est dit dans les réponses à l’autre question, il est préférable que les performances définissent simplement une variable PHP comme vous le faites.
Une alternative à get_plugin_data()
est get_file_data () qui est disponible sans la surcharge du chargement de fichiers supplémentaires.
Ajoutez simplement ceci à votre fichier de plugin principal:
$plugin_data = get_file_data(__FILE__, array('Version' => 'Version'), false);
$plugin_version = $plugin_data['Version'];
Sous le capot, get_file_data
effectue des analyses de couperet très performantes.
Et si nécessaire définissez votre constante:
define ( 'YOURPLUGIN_CURRENT_VERSION', $plugin_version );
Une solution possible peut être regex:
$plugin_version = NULL;
if(preg_match('/\*[\s\t]+?version:[\s\t]+?([0-9.]+)/i',file_get_contents( __FILE__ ), $v))
$plugin_version = $v[1];
Il faut mentionner que cette expression rationnelle est un peu plus rapide que get_file_data()
mais en général, vous ne le remarquerez pas.