Как удаленно определить версию WordPress?
Как инструмент DD32 определяет версию WordPress на сайте. Он не работает корректно с WP 3.1, при этом не использует meta generator тег или файл readme.txt WordPress. Какие еще могут быть способы определения?

Это немного кода, который я написал некоторое время назад для обнаружения версии WordPress наиболее очевидными способами: http://ottodestruct.com/class-wp-detection.phps
Существуют и другие методы, более тонкие и менее очевидные. Его метод - это анализ "отпечатков" файлов. По сути, проверка наличия или отсутствия определенных файлов.

Я просто предполагаю, но обычно это делается путем определения уникальных характеристик конкретных версионных файлов/директорий/кода, а иногда даже размера.
Например, вы можете удалить все мета-теги версий (а их разве не около 12 мест?) и .txt файл для версии 3.1, но поскольку 3.1 — единственная версия, которая по умолчанию включает следующий новый файл, её довольно легко идентифицировать.
wp-includes/js/l10n.js
Поскольку каждый релиз содержит множество новых добавлений, если потратить достаточно времени на написание умного бота, не так уж сложно найти данные, специфичные для конкретного релиза. Скрыть всю эту информацию было бы очень трудоемко для каждого выпуска.

Извините, мне следовало объяснить это понятнее. Мета тег версии вставляется в нескольких местах, например, вы можете убрать его из стандартного заголовка вашего блога, но он может появляться в других местах. Вот почему используют глобальный фильтр "удалить его" вместо простого комментирования вывода html заголовка. Хотя это число, вероятно, преувеличено. Например, посмотрите на скрипт Отто ниже.

Я знаю, что уже есть принятый ответ, но просто поделюсь своим вариантом. Я делаю это, извлекая переменную $wp_version из файла 'wp-includes/version.php' в директории блога:
function get_wp_version() {
$versionFile = ABS_PATH.'/wp-includes/version.php';
// ФАЙЛ ВЕРСИИ ОТСУТСТВУЕТ //
if (($versionStr = @file_get_contents($versionFile))=='') return '';
$regex = "wp_version.*'(?<wpVersion>.*)'";
if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
return $matches['wpVersion'];
}
return '';
}
