// 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"); } alejanndra, Author at Osito Barrigón

alejanndra

2 Artículos

Las últimas historias de alejanndra

De amigos a novios en Internet

Hola barrigones tanto tiempo paso desde la última vez que…

Por alejanndra

¿Qué revivirías si tuvieras una Máquina del Tiempo?

Primero que todo espero que esto nos ayuden a traer…

Por alejanndra