Grüß Gott, ich habe kürzlich W3TC geschrubbt, um eine Anzeige der Änderungsliste "in Aktualisierung" (sehr cool) in meinem Plugin zu implementieren.
Wenn Sie oben in dieser Datei nachsehen, wird der folgende Code angezeigt:
define ( 'BMLT_CURRENT_VERSION', '2.1.16' ); // This needs to be kept in synch with the version above.
Ick. : P
Das muss auf dem neuesten Stand gehalten werden, damit die Funktion zwischen Ihrem Plug-in und der aktuellen stabilen Version abweichen kann.
Ich habe den Codex durchgesehen und kann ihn nicht finden, aber es mussGOTeine API-Funktion zum Abrufen der Version eines Plugins geben.
Irgendwelche Hinweise?
Hier ist eine Antwort mit einem Code, der genau das tut, was Sie möchten: Gibt es eine Möglichkeit für ein Plug-In, eine eigene Versionsnummer zu erhalten?
Es gibt eine Funktion namens get_plugin_data () . Versuchen Sie, dies aus der Haupt-Plugin-Datei heraus aufzurufen, wenn Sie:
$plugin_data = get_plugin_data( __FILE__ );
$plugin_version = $plugin_data['Version'];
Aber wie in den Antworten auf die andere Frage gesagt, ist es für die Leistung besser, einfach eine PHP -Variable zu definieren, wie Sie dies tun.
Eine Alternative zu get_plugin_data()
ist get_file_data () , das verfügbar ist, ohne dass zusätzliche Dateien geladen werden müssen.
Fügen Sie dies einfach zu Ihrer Haupt-Plugin-Datei hinzu:
$plugin_data = get_file_data(__FILE__, array('Version' => 'Version'), false);
$plugin_version = $plugin_data['Version'];
Unter der Haube macht get_file_data
einige Hackmesser-Scans, um ziemlich performant zu sein.
Und definieren Sie bei Bedarf Ihre Konstante:
define ( 'YOURPLUGIN_CURRENT_VERSION', $plugin_version );
Eine mögliche Lösung kann Regex sein:
$plugin_version = NULL;
if(preg_match('/\*[\s\t]+?version:[\s\t]+?([0-9.]+)/i',file_get_contents( __FILE__ ), $v))
$plugin_version = $v[1];
Ich muss erwähnen, dass dieser reguläre Ausdruck etwas schneller ist als get_file_data()
, aber im Allgemeinen werden Sie es nicht bemerken.