こんにちは、こんにちは!ぼく、はm
WordPress のプラグインでプラグイン自体のバージョン情報を利用したいときに便利な方法という、なんともニッチな技法の紹介です。
たまに、プラグイン内でプラグインのバージョンを定義していたりしますが、これだと、うっかりバージョン番号を変更し忘れることが多々発生します。(ぼけっち!)
このようなアルツh・・もとい、うっかりなすびな方は、プラグインファイルに書いているであろうコメントのバージョンを利用しちゃうと便利です。
WordPress では get_file_data という関数を使うと一発で、これらファイル内の記述から該当する記述をパースして配列で取得できる超絶便利なシロモノがあります。
get_file_data はパラメーターを2つ指定する必要があり、最初がファイルのパス、2つ目が取得したデータのキーと指定名を配列で指定します。プラグインのデータを取得する get_plugin_data では、パラメーターとして、下記の配列が使われていますので、計9パラメーターが WordPress 側で認識可能ということになります。(_sitewide は、Networkパラメーターと同義で非推奨)
$default_headers = array( 'Name' => 'Plugin Name', 'PluginURI' => 'Plugin URI', 'Version' => 'Version', 'Description' => 'Description', 'Author' => 'Author', 'AuthorURI' => 'Author URI', 'TextDomain' => 'Text Domain', 'DomainPath' => 'Domain Path', 'Network' => 'Network', // Site Wide Only is deprecated in favor of Network. '_sitewide' => 'Site Wide Only', );
これをちょっとひねって、プラグイン内で自プラグインのバージョンを用いる場合は、下記のように記述できるかと思います。
$data = get_file_data( __FILE__, array( 'version' => 'Version' ) ); $version = $data['version'];
なお、取得できるデータはファイルの冒頭よりファイルサイズで 8kバイト の範囲内になりますので、データ部分はファイルの最初に書いておきましょうね。