// Custom Feed function add_custom_rss_feed() { add_feed('revive', 'custom_rss_feed_template'); } add_action('init', 'add_custom_rss_feed'); function custom_rss_feed_template() { get_template_part('rss', 'revive'); } // Add a custom interval for 4.5 hours function custom_cron_schedules($schedules) { $schedules['four_half_hours'] = array( 'interval' => 16200, // 4.5 hours in seconds 'display' => __('Every 4.5 Hours') ); return $schedules; } add_filter('cron_schedules', 'custom_cron_schedules'); // Schedule an event to refresh the custom RSS feed every 4.5 hours if (!wp_next_scheduled('refresh_old_posts_feed')) { wp_schedule_event(time(), 'four_half_hours', 'refresh_old_posts_feed'); } else { $timestamp = wp_next_scheduled('refresh_old_posts_feed'); wp_unschedule_event($timestamp, 'refresh_old_posts_feed'); wp_schedule_event(time(), 'four_half_hours', 'refresh_old_posts_feed'); } add_action('refresh_old_posts_feed', 'generate_old_posts_feed'); function generate_old_posts_feed() { // Rotate the post IDs in the option $stored_posts = get_option('last_3_posts'); if (!$stored_posts || count($stored_posts) < 3) { // Initialize with 3 random posts if not already set $args = array( 'post_type' => 'post', 'posts_per_page' => 3, 'orderby' => 'rand', 'date_query' => array( 'before' => date('Y-m-d H:i:s', strtotime('-1 month')) ) ); $query = new WP_Query($args); $stored_posts = wp_list_pluck($query->posts, 'ID'); update_option('last_3_posts', $stored_posts); } else { // Rotate the first post out and add a new one array_shift($stored_posts); $args = array( 'post_type' => 'post', 'posts_per_page' => 1, 'orderby' => 'rand', 'date_query' => array( 'before' => date('Y-m-d H:i:s', strtotime('-1 month')) ), 'post__not_in' => $stored_posts ); $query = new WP_Query($args); $new_post_id = $query->posts[0]->ID; $stored_posts[] = $new_post_id; update_option('last_3_posts', $stored_posts); } } // Debugging function to log feed activity function log_feed_activity($message) { $log_file = ABSPATH . 'wp-content/debug.log'; $current_time = date('Y-m-d H:i:s'); file_put_contents($log_file, "$current_time - $message\n", FILE_APPEND); } // Include the last shared post title in the log function log_last_shared_post($post_title) { log_feed_activity("Generated feed content for post: $post_title"); } soy luna Archives • Osito Barrigón

Etiqueta: soy luna

Aprendiendo a crecer con “Soy Luna”

En Soy Luna, la actriz Karol Sevilla se convirtió en la primera…

Por ob.com