add_action('wp_ajax_import_tmdb_movie', 'import_tmdb_movie'); function import_tmdb_movie() { // Verify nonce if (!wp_verify_nonce($_GET['_wpnonce'], 'tmdb_import_action')) { wp_die('Security check failed'); } $api_key = '3feb3326dcc97919f061719b42e919a1'; $tmdb_id = intval($_GET['tmdb_id']); $post_id = intval($_GET['post_id']); if (!$tmdb_id || !$post_id) { wp_die('Invalid parameters'); } // Check if post exists if (!get_post($post_id)) { wp_die('Post not found'); } // Include reviews in the API request $url = "https://api.themoviedb.org/3/movie/$tmdb_id?api_key=$api_key&append_to_response=credits,videos,reviews"; $response = wp_remote_get($url, array('timeout' => 30)); if (is_wp_error($response)) { wp_die('Failed to fetch data from TMDb: ' . $response->get_error_message()); } $data = json_decode(wp_remote_retrieve_body($response), true); if (empty($data) || isset($data['status_code'])) { wp_die('Invalid movie ID or data not found. TMDb error: ' . ($data['status_message'] ?? 'Unknown error')); } // Save poster image if available $poster_id = null; if (!empty($data['poster_path'])) { $poster_url = 'https://image.tmdb.org/t/p/original' . $data['poster_path']; require_once(ABSPATH . 'wp-admin/includes/media.php'); require_once(ABSPATH . 'wp-admin/includes/file.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); $poster_id = media_sideload_image($poster_url, $post_id, $data['title'], 'id'); if (is_wp_error($poster_id)) { error_log('Poster image error: ' . $poster_id->get_error_message()); $poster_id = null; } } // Update post title and content wp_update_post(array( 'ID' => $post_id, 'post_title' => $data['title'], 'post_name' => sanitize_title($data['title']), 'post_content' => $data['overview'] ?? '' )); // Get the latest review $latest_review = get_latest_review($data); // Prepare all ACF fields data $fields = array( 'movie_name' => $data['title'] ?? '', 'release_date' => $data['release_date'] ?? '', 'imdb_rating' => floatval($data['vote_average'] ?? 0), 'stars' => get_cast_names($data), 'director' => get_director_name($data), 'trailer_link' => esc_url_raw(get_trailer_link($data)), 'in_short_details' => $data['overview'] ?? '', 'poster_image' => $poster_id, 'review' => $latest_review['content'] ?? '' // Add the review content ); // Update all ACF fields foreach ($fields as $key => $value) { if (!empty($value) || $value === 0) { update_field($key, $value, $post_id); } } // Handle genre taxonomy if (!empty($data['genres'])) { $genres = array(); foreach ($data['genres'] as $genre) { if (!empty($genre['name'])) { $genres[] = $genre['name']; } } if (!empty($genres)) { if (taxonomy_exists('genre')) { $term_ids = array(); foreach ($genres as $genre_name) { $term = term_exists($genre_name, 'genre'); if (!$term) { $term = wp_insert_term($genre_name, 'genre'); } if (!is_wp_error($term) && isset($term['term_id'])) { $term_ids[] = $term['term_id']; } } if (!empty($term_ids)) { wp_set_post_terms($post_id, $term_ids, 'genre', false); } } else { error_log('Genre taxonomy not registered'); } } } echo "Movie data imported successfully!"; wp_die(); } // Function to get latest review function get_latest_review($data) { if (empty($data['reviews']['results'])) { return array( 'author' => '', 'content' => '', 'rating' => null, 'created_at' => '' ); } // Sort reviews by date (newest first) usort($data['reviews']['results'], function($a, $b) { return strtotime($b['created_at']) - strtotime($a['created_at']); }); // Get the most recent review $latest_review = $data['reviews']['results'][0]; return array( 'author' => $latest_review['author'] ?? '', 'content' => $latest_review['content'] ?? '', 'rating' => $latest_review['author_details']['rating'] ?? null, 'created_at' => $latest_review['created_at'] ?? '' ); } Page Not Found - Filmyhub4u
telegram

Premium Group

Never miss any update....

It looks like the link pointing here was faulty. Maybe try searching?

Scroll to Top