Вопрос или проблема
Простой вопрос:
Существует ли API-эндпоинт для получения версии конкретного сайта на WordPress?
Мне нужно отслеживать различные сайты на WordPress и хочу получать версии этих сайтов для их сбора и проверки на обновления WordPress.
Существует ли простое решение, что-то вроде example.com/api/version
?
Ответ или решение
Краткий ответ на ваш вопрос о том, существует ли API-эндпоинт для получения версии конкретного сайта на WordPress, заключается в следующем: стандартного API-эндпоинта, подобного example.com/api/version
, не существует. Однако есть несколько методов, которые можно использовать для достижения вашей цели.
1. Использование WordPress REST API
WordPress предоставляет REST API, который позволяет взаимодействовать с сайтом и получать различные данные. Один из способов получить версию WordPress — это использовать следующий эндпоинт:
GET /wp-json/wp/v2/sites/{siteID}
Где {siteID}
— это ID вашего сайта. Однако данный подход имеет свои ограничения. Если вы не знаете ID сайта, вам необходимо использовать другой метод.
2. Запрос к readme.html
Каждый сайт на WordPress содержит файл readme.html
, который доступен по следующему адресу:
http://example.com/readme.html
Этот файл содержит информацию о версии WordPress. Вы можете сделать HTTP GET-запрос к этому URL. Например, с использованием cURL в командной строке:
curl -s http://example.com/readme.html | grep 'Version'
Эта команда выдаст строку, содержащую версию WordPress.
3. Запрос к xmlrpc.php
Другой распространенный метод — это сделать запрос к xmlrpc.php
, который также предоставляет информацию о версии:
http://example.com/xmlrpc.php
Вы можете отправить XML-запрос с целью получить информацию о версии.
4. Кастомизация через плагины
Если вам необходимо более устойчивое решение, вы можете создать пользовательский плагин, который будет добавлять специфический API-эндпоинт для версии вашего сайта. Код для создания такого эндпоинта может выглядеть следующим образом:
add_action('rest_api_init', function () {
register_rest_route('custom/v1', '/version', array(
'methods' => 'GET',
'callback' => function () {
return ['version' => get_bloginfo('version')];
},
));
});
После добавления этого кода в плагин, вы сможете получить версию WordPress по адресу:
http://example.com/wp-json/custom/v1/version
Заключение
Хотя нет единого API-эндпоинта для получения версии WordPress, описанные методы предоставляют вам возможность легко интегрировать мониторинг версий различных сайтов. Выбор подходящего метода зависит от ваших технических потребностей и ограничений. Используйте readme.html
или кастомные решения для достижения наиболее эффективного результата в мониторинге версий.