API-эндпоинт для получения версии сайта WordPress?

Вопрос или проблема

Простой вопрос:

Существует ли 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 или кастомные решения для достижения наиболее эффективного результата в мониторинге версий.

Оцените материал
Добавить комментарий

Капча загружается...