どのように DD32のツール インストールのWordPressのバージョンを決定します。 WP 3.1ではうまく動作しませんが、meta generatorタグやWPのreadme.txtは使用しません。それでは他に何ができるでしょうか?
私はここで仮定しているだけですが、これは通常特定のバージョンのファイル/ディレクトリの/ code、時にはサイズさえ指紋採取することによって行われます。
たとえば、すべてのメタバージョンタグ(12箇所ではありません)と3.1の.txtファイルを削除できますが、3.1がデフォルトで次の新しいファイルを含める唯一のバージョンであるため、フィンガープリントはかなり簡単です。
wp-includes/js/l10n.js
スマートボットを書くのに十分な時間をかけても、各リリースには多くの新しい追加があるので、リリース固有のデータを見つけるのはそれほど難しくありません。これらすべての情報を隠すのは、すべてのリリースで大変な作業になります。
これは私がしばらく前にWPバージョン検出を最も明白な方法で行うために書いたコードです: http://ottodestruct.com/class-wp-detection.phps
他にも微妙でわかりにくい方法があります。彼の方法はファイルフィンガープリントです。基本的に特定のファイルが存在するかどうかを確認します。
私はすでに受け入れられた答えがあったことを知っています、しかしそれをそこに投げ出すだけです。私のやり方はあなたのブログディレクトリの 'wp-includes/version.php'ファイルから$ wp_version変数を解析することです。
function get_wp_version() {
$versionFile = ABS_PATH.'/wp-includes/version.php'
// NO VERSION FILE //
if (($versionStr = @file_get_contents($versionFile))=='') return '';
$regex = "wp_version.*'(?<wpVersion>.*)'";
if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
return $matches['wpVersion'];
}
return '';
}