Функция 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 свои уникальные импортёры. Это полезно для тех, кто хочет расширить возможности сайта и настроить интеграцию с внешними источниками данных.