The Penguins of Madagascar
Самопровозглашенные коммандос – Ковальски, Шкипер, Рико и Рядовой – выполняют ежедневные сверхсекретные операции на территории нью-йоркского зоопарка, иногда пробираясь в метро и подземные коммуникации.
// Регистрация AJAX-хука для фронтенда add_action('wp_ajax_get_movie_info', 'handle_get_movie_info'); add_action('wp_ajax_nopriv_get_movie_info', 'handle_get_movie_info'); function handle_get_movie_info() { // Проверяем, что передан ID фильма if (!isset($_POST['movie_id']) || empty($_POST['movie_id'])) { wp_send_json_error(array('message' => 'ID фильма не указан.')); } $movie_id = sanitize_text_field($_POST['movie_id']); $post_id = intval($_POST['post_id']); // Запрос к API Кинопоиска (здесь вы можете использовать свой API или библиотеку) $api_url = 'https://api.kinopoisk.dev/movie/' . $movie_id; // Примерный URL для API Кинопоиска $api_key = 'ваш_ключ_Кинопоиска'; // Укажите ваш ключ API $response = wp_remote_get($api_url, array( 'headers' => array( 'X-API-KEY' => $api_key, ), )); if (is_wp_error($response)) { wp_send_json_error(array('message' => 'Ошибка при запросе к API.')); } $data = json_decode(wp_remote_retrieve_body($response), true); if (empty($data) || !isset($data['id'])) { wp_send_json_error(array('message' => 'Не удалось найти фильм.')); } // Извлекаем нужную информацию (например, название, постер, описание) $movie_title = sanitize_text_field($data['name']); $movie_description = sanitize_textarea_field($data['description']); $movie_poster_url = esc_url($data['poster']['url']); // Вставляем информацию в запись (предполагаем, что $post_id уже задан) wp_update_post(array( 'ID' => $post_id, 'post_title' => $movie_title, // Заголовок записи = Название фильма 'post_content' => $movie_description, // Описание фильма в контент записи )); // Добавляем постер как изображение записи $image_id = media_sideload_image($movie_poster_url, $post_id, null, 'id'); if (!is_wp_error($image_id)) { set_post_thumbnail($post_id, $image_id); // Устанавливаем изображение поста } // Возвращаем успешный ответ wp_send_json_success(array('message' => 'Информация обновлена')); }