0
// ✅ BLOCO QUE FORÇA A EXECUÇÃO DO CRON — AGORA SEM REPETIR E SEM DUPLICAR add_action('init', function() {// 🔒 Evita execuções simultâneas if (get_transient('labnews_processing_lock')) { return; }// 🔒 Trava simples em memória para impedir repetição dentro do mesmo request static $is_running = false; if ($is_running) { return; } $is_running = true;$next = wp_next_scheduled('labnews_cron');// 🚀 Se não existir cron, roda uma vez if (!$next) { error_log('LabNews - Nenhum cron encontrado, executando manualmente...'); set_transient('labnews_processing_lock', true, 300); $feed_processor = new LabNews_Feed(); $feed_processor->process_scheduled_feeds(); delete_transient('labnews_processing_lock'); return; }// ⏰ Se existir cron mas estiver atrasado mais de 5 min, roda uma vez if ($next && time() - $next > 300) { error_log('LabNews - Cron atrasado, executando manualmente...'); set_transient('labnews_processing_lock', true, 300); $feed_processor = new LabNews_Feed(); $feed_processor->process_scheduled_feeds(); delete_transient('labnews_processing_lock'); return; }});