function aie_export_posts() { $start_date = sanitize_text_field($_POST['start_date']); $end_date = sanitize_text_field($_POST['end_date']); $category_id = sanitize_text_field($_POST['export_category']); $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'date_query' => array( array( 'after' => $start_date, 'before' => $end_date, 'inclusive' => true, ), ), 'posts_per_page' => -1, ); // إضافة فلتر التصنيف إذا لم يكن "الكل" محدد if ($category_id !== 'all') { $args['cat'] = $category_id; } $posts = get_posts($args); if (empty($posts)) { echo '

لا توجد مقالات للتصدير في الفترة المحددة.

'; return; } $export_data = array( 'site_info' => array( 'name' => get_bloginfo('name'), 'url' => get_bloginfo('url'), 'description' => get_bloginfo('description'), 'language' => get_bloginfo('language'), 'export_date' => date('r'), ), 'posts' => array(), ); foreach ($posts as $post) { $post_categories = wp_get_post_categories($post->ID, array('fields' => 'all')); $post_tags = wp_get_post_tags($post->ID); $release_years = wp_get_post_terms($post->ID, 'release-year'); $genres = wp_get_post_terms($post->ID, 'genre'); $qualities = wp_get_post_terms($post->ID, 'Quality'); $post_thumbnail = get_the_post_thumbnail_url($post->ID, 'full'); $author = get_userdata($post->post_author); $awards = wp_get_post_terms($post->ID, 'awards'); $actors = wp_get_post_terms($post->ID, 'actor'); $directors = wp_get_post_terms($post->ID, 'director'); $nations = wp_get_post_terms($post->ID, 'nation'); $languages = wp_get_post_terms($post->ID, 'language'); $selaries = wp_get_post_terms($post->ID, 'selary'); $servers_links = get_post_meta($post->ID, 'servers_links', true); $downloads = get_post_meta($post->ID, 'downloads', true); $trailer = get_post_meta($post->ID, 'trailer', true); $ribbon = get_post_meta($post->ID, 'ribbon', true); $number = get_post_meta($post->ID, 'number', true); $runtime = get_post_meta($post->ID, 'runtime', true); $post_data = array( 'post_id' => $post->ID, 'post_title' => $post->post_title, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'story' => $post->post_content, // هذه هي الإضافة الجديدة 'post_date' => $post->post_date, 'post_date_gmt' => $post->post_date_gmt, 'post_modified' => $post->post_modified, 'post_modified_gmt' => $post->post_modified_gmt, 'post_status' => $post->post_status, 'post_name' => $post->post_name, 'post_type' => $post->post_type, 'post_author' => array( 'id' => $post->post_author, 'name' => $author->display_name, ), 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_parent' => $post->post_parent, 'menu_order' => $post->menu_order, 'post_password' => $post->post_password, 'is_sticky' => is_sticky($post->ID) ? 1 : 0, 'categories' => array(), 'tags' => array(), 'release_years' => array(), 'genres' => array(), 'qualities' => array(), 'awards' => array(), 'actors' => array(), 'directors' => array(), 'nations' => array(), 'languages' => array(), 'selaries' => array(), 'post_thumbnail' => $post_thumbnail, 'servers_links' => $servers_links, 'downloads' => array(), 'ribbon' => $ribbon, // إضافة هذا السطر 'number' => $number, // إضافة هذا السطر 'runtime' => $runtime, // إضافة هذا السطر 'trailer' => $trailer, // إضافة هذا السطر ); foreach ($post_categories as $category) { $post_data['categories'][] = array( 'id' => $category->term_id, 'name' => $category->name, 'slug' => $category->slug, ); } foreach ($post_tags as $tag) { $post_data['tags'][] = array( 'id' => $tag->term_id, 'name' => $tag->name, 'slug' => $tag->slug, ); } foreach ($release_years as $year) { $post_data['release_years'][] = array( 'id' => $year->term_id, 'name' => $year->name, 'slug' => $year->slug, ); } foreach ($genres as $genre) { $post_data['genres'][] = array( 'id' => $genre->term_id, 'name' => $genre->name, 'slug' => $genre->slug, ); } foreach ($qualities as $quality) { $post_data['qualities'][] = array( 'id' => $quality->term_id, 'name' => $quality->name, 'slug' => $quality->slug, ); } foreach ($awards as $award) { $post_data['awards'][] = array( 'id' => $award->term_id, 'name' => $award->name, 'slug' => $award->slug, ); } foreach ($actors as $actor) { $post_data['actors'][] = array( 'id' => $actor->term_id, 'name' => $actor->name, 'slug' => $actor->slug, ); } foreach ($directors as $director) { $post_data['directors'][] = array( 'id' => $director->term_id, 'name' => $director->name, 'slug' => $director->slug, ); } foreach ($nations as $nation) { $post_data['nations'][] = array( 'id' => $nation->term_id, 'name' => $nation->name, 'slug' => $nation->slug, ); } foreach ($languages as $language) { $post_data['languages'][] = array( 'id' => $language->term_id, 'name' => $language->name, 'slug' => $language->slug, ); } foreach ($selaries as $selary) { $post_data['selaries'][] = array( 'id' => $selary->term_id, 'name' => $selary->name, 'slug' => $selary->slug, ); } // تصدير روابط التحميل من الميتابوكس if (!empty($downloads)) { foreach ($downloads as $download) { $post_data['downloads'][] = array( 'name' => $download['name'] ?? '', 'quality' => $download['quality'] ?? '', 'resolution' => $download['resolution'] ?? '', 'link' => $download['link'] ?? '' ); } } $export_data['posts'][] = $post_data; } $json = json_encode($export_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); $file_name = 'exported_posts_' . date('Y-m-d') . '.json'; $file_path = WP_CONTENT_DIR . '/uploads/' . $file_name; file_put_contents($file_path, $json); echo '

تم تصدير المقالات بنجاح. اضغط هنا لتحميل الملف

'; }