В этой статье мы рассмотрим функцию validate_plugin_requirements()
в WordPress, которая позволяет проверить совместимость плагина с текущими версиями WordPress и PHP. Также мы приведем примеры использования этой функции с измененными данными, чтобы избежать копирования.
validate_plugin_requirements( string $plugin ): true|WP_Error
Функция validate_plugin_requirements()
используется для проверки, соответствует ли плагин требованиям по версиям WordPress и PHP. Она считывает данные из заголовков, определенных в основном PHP-файле плагина, таких как:
- Requires at least: минимальная версия WordPress.
- Requires PHP: минимальная версия PHP, необходимая для работы плагина.
С версии WordPress 5.3 данные заголовки должны находиться именно в основном файле плагина, а не в файле readme.txt
, который с этой версии стал дополнительным. Начиная с версии 5.8.0, поддержка заголовков в readme.txt
была полностью удалена.
Важно помнить, что в качестве первого параметра функции необходимо указывать путь к главному файлу плагина, а не просто имя папки. Если указать только имя папки, функция всегда вернет true
.
Параметры
- $plugin (string, обязательный): путь к главному файлу плагина относительно каталога плагинов. Обычно это возвращает функция
plugin_basename()
.
Возвращаемое значение
Функция возвращает либо true
, если минимальные требования соблюдены, либо объект WP_Error
, если есть несовместимость.
Пример 1: Проверка совместимости плагина
В этом примере мы проверим совместимость версий PHP и WordPress для плагина Custom Poll. Для этого мы добавим следующий код в хук активации нашего плагина:
register_activation_hook( __FILE__, 'custom_poll_activate' );
function custom_poll_activate() {
require_once ABSPATH . '/wp-admin/includes/plugin.php'; // Подключаем необходимые файлы для работы с плагинами
$plugin = 'custom-poll/custom-poll.php'; // Укажите путь к главному файлу плагина
$valid = validate_plugin_requirements( $plugin );
if ( is_wp_error( $valid ) ) {
wp_die( $valid->get_error_message() );
// Выведет:
// Ошибка: Текущие версии WordPress и PHP не соответствуют минимальным требованиям для плагина Custom Poll.
}
}
Пример 2: Проверка совместимости другого плагина
Теперь рассмотрим пример для плагина Advanced Gallery. Код для проверки будет выглядеть следующим образом:
register_activation_hook( __FILE__, 'advanced_gallery_activate' );
function advanced_gallery_activate() {
require_once ABSPATH . '/wp-admin/includes/plugin.php'; // Подключаем необходимые файлы для работы с плагинами
$plugin = 'advanced-gallery/advanced-gallery.php'; // Укажите путь к главному файлу плагина
$valid = validate_plugin_requirements( $plugin );
if ( is_wp_error( $valid ) ) {
wp_die( $valid->get_error_message() );
// Выведет:
// Ошибка: Текущие версии WordPress и PHP не соответствуют минимальным требованиям для плагина Advanced Gallery.
}
}
Заключение
Функция validate_plugin_requirements()
является важным инструментом для разработчиков плагинов, позволяя им гарантировать, что их плагины будут работать на правильных версиях WordPress и PHP. Используя приведенные примеры, вы можете легко интегрировать проверку совместимости в свои плагины и обеспечить их стабильную работу на сайтах пользователей.