Функция register_importer() позволяет добавлять пользовательские импортеры в WordPress. Это полезно, если вы хотите создать механизм для импорта данных из сторонних источников или других сайтов WordPress.
register_importer( string $id, string $name, string $description, callable $callback ): void|WP_Error
register_importer() регистрирует новый импортёр в WordPress, который затем можно запустить через административный интерфейс. Для корректной работы функция должна вызываться внутри хуков admin_init или init, иначе это может вызвать фатальную ошибку.
Параметры:
- $id (string) — Уникальный идентификатор импортера.
- $name (string) — Имя импортера, отображаемое в админ-панели.
- $description (string) — Описание, которое поясняет функционал импортера.
- $callback (callable) — Функция обратного вызова, которая запускается при выборе импортера.
Возвращает void при успешной регистрации, либо WP_Error, если передан некорректный callback.
Пример 1: Регистрация Простого Импортера Контента
Рассмотрим пример регистрации импортера, который загружает данные с внешнего ресурса.
add_action( 'admin_init', function () {
register_importer(
'content_importer',
'Content Importer',
'Импортирует контент с внешнего сайта',
'execute_content_importer'
);
});
function execute_content_importer() {
echo '<h1>Импорт контента</h1>';
echo '<p>Здесь будет отображаться процесс импорта контента.</p>';
// Логика импорта данных
}
В данном примере уникальный идентификатор
$idзадан какcontent_importer, а функция обратного вызоваexecute_content_importerвыводит заголовок и описание на странице импортера.
Рекомендации по Использованию
- Выбор Уникальных Идентификаторов: Каждый импортер должен иметь уникальный
$id, чтобы избежать конфликта с другими импортёрами. - Функция Обратного Вызова: Обязательно проверяйте, чтобы
callbackне былWP_Error, иначе функция вернёт ошибку. Пример проверки:
if ( is_wp_error( $callback ) ) {
return new WP_Error( 'invalid_callback', 'Ошибка: Неправильная функция обратного вызова.' );
}
Заключение
Функция register_importer() позволяет добавлять в WordPress свои уникальные импортёры. Это полезно для тех, кто хочет расширить возможности сайта и настроить интеграцию с внешними источниками данных.