// ฟังก์ชันสำหรับตรวจสอบและสร้างหมวดหมู่ใหม่ถ้าไม่ซ้ำ function get_or_create_category($category_name) { $category = get_term_by('name', $category_name, 'category'); // ถ้ามีหมวดหมู่นั้นอยู่แล้ว if ($category) { return $category->term_id; } // ถ้าไม่มีหมวดหมู่ ให้สร้างใหม่ $result = wp_insert_term($category_name, 'category'); if (is_wp_error($result)) { // ถ้ามีข้อผิดพลาดในการสร้างหมวดหมู่ echo "Error creating category: " . $result->get_error_message(); return false; } return $result['term_id']; } // ฟังก์ชันสำหรับการสร้างโพสต์ function handle_auto_posts() { foreach (get_custom_field_draft_ids_and_meta() as $v) { $response = wp_remote_get('https://hengdee1.com/api/auto-post/lottery-rounds/' . $v['meta_value']); // ตรวจสอบการตอบกลับจาก API if (is_wp_error($response)) { echo "Something went wrong: " . $response->get_error_message(); continue; } else { $body = wp_remote_retrieve_body($response); $response_data = json_decode($body, true); if (!is_array($response_data)) { echo "Invalid response from API."; continue; } foreach ($response_data as $data) { if (!get_post_id_by_meta_value('hengdee_round_id', $data['id'])) { clone_post_from_draft($v['post_id'], $data); } } } } echo 'OK'; exit; } // ฟังก์ชันสำหรับโคลนโพสต์จากร่าง function clone_post_from_draft(int $original_post_id, array $data): void { $original_post = get_post($original_post_id); // ตรวจสอบว่าโพสต์ต้นฉบับมีอยู่และเป็นสถานะร่าง if (!$original_post || $original_post->post_status !== 'draft') { echo "Original post not found or not in draft status."; return; } // สร้างวันที่ใหม่จากข้อมูล $date = new DateTime($data['date'], new DateTimeZone('Asia/Bangkok')); $new_post = array( 'post_title' => $original_post->post_title, 'post_content' => $original_post->post_content, 'post_status' => 'publish', 'post_author' => $original_post->post_author, 'post_category' => wp_get_post_categories($original_post_id), 'post_date' => $date->format('Y-m-d H:i:s'), 'post_date_gmt' => get_gmt_from_date($date->format('Y-m-d H:i:s')), ); $new_post_id = wp_insert_post($new_post); if (is_wp_error($new_post_id)) { echo "Error cloning post: " . $new_post_id->get_error_message(); return; } update_post_meta($new_post_id, 'hengdee_round_id', $data['id']); // กำหนดแท็ก $tags = wp_get_post_tags($original_post_id, array('fields' => 'names')); wp_set_post_tags($new_post_id, $tags); // กำหนด Featured Image $thumbnail_id = get_post_thumbnail_id($original_post_id); if ($thumbnail_id) { set_post_thumbnail($new_post_id, $thumbnail_id); } echo "[{$new_post['post_title']}]: Post cloned successfully.\n"; } // ฟังก์ชันเพิ่ม rewrite rule function auto_post_plugin_rewrite_rule() { add_rewrite_rule('^create-auto-post/?$', 'index.php?auto_post_create=1', 'top'); } // เพิ่ม query vars ใหม่ function auto_post_plugin_query_vars($vars) { $vars[] = 'auto_post_create'; return $vars; } // ตรวจสอบเมื่อมีการเข้าถึง URL function auto_post_plugin_template_redirect() { if (get_query_var('auto_post_create') == 1) { handle_auto_posts(); } } // เรียกใช้งานเมื่อเปิดและปิดใช้งาน plugin function auto_post_plugin_activate() { auto_post_plugin_rewrite_rule(); flush_rewrite_rules(); } function auto_post_plugin_deactivate() { flush_rewrite_rules(); } register_activation_hook(__FILE__, 'auto_post_plugin_activate'); register_deactivation_hook(__FILE__, 'auto_post_plugin_deactivate'); หวยฮานอยสตาร์วันนี้ 3/11/2567 ตรวจหวยฮานอยสตาร์ย้อนหลัง - betflixpro