
Respuesta corta: La forma más fiable de auto publicar posts desde un archivo TXT cada 4 horas con cuenta atrás es combinar WP All Import (para leer TXT/CSV) con WP Crontrol (para programar un intervalo exacto de 4 h). Para mostrar la cuenta atrás en la web, usa un widget como Countdown Timer Ultimate.
Introducción
Automatizar la publicación en WordPress garantiza constancia editorial y ahorro de tiempo. Hoy podemos importar texto desde archivos TXT/CSV y programar publicaciones en intervalos exactos (p. ej., cada 4 horas). La enorme adopción de WordPress ha impulsado un ecosistema de plugins para estas tareas (ver datos de uso en W3Techs).
¿Qué significa auto publicar desde TXT cada 4 horas?
- WordPress lee un archivo TXT con entradas preparadas (título | contenido | etiquetas).
- Crea un post automáticamente cada 4 h.
- Muestra en la web una cuenta atrás hasta la próxima publicación.
Ventajas y desventajas
✅ Ventajas
- Automatización total del calendario editorial.
- Evita el trabajo manual de subir artículos.
- Incrementa la previsibilidad para el usuario (y la retención) con cuenta atrás.
❌ Desventajas
- Configuración inicial más técnica (varios plugins y pruebas).
- Posibles incompatibilidades si se combinan demasiados plugins.
- Algunas funciones avanzadas requieren versión premium o código.
Cómo implementarlo paso a paso
- Prepara el archivo TXT/CSV
Formato recomendado por línea:Título | Contenido HTML permitido | etiqueta1, etiqueta2.
Sube el archivo a/wp-content/uploads/(o una carpeta segura). - Instala WP All Import para mapear campos y crear entradas desde TXT/CSV → Repositorio oficial.
- Instala WP Crontrol para definir el intervalo exacto de 4 h → Repositorio oficial.
Documentación útil: Guía de WP-Cron,wp_schedule_event(),cron_schedules. - Muestra una cuenta atrás en la web con Countdown Timer Ultimate o un bloque/countdown equivalente.
Snippet PHP: crear intervalo de 4 h y programar tarea
<?php
// Añade un intervalo 'cada 4 horas'
add_filter('cron_schedules', function ($schedules) {
$schedules['every_4_hours'] = [
'interval' => 14400, // 4 h en segundos
'display' => __('Cada 4 horas', 'tu-textdomain'),
];
return $schedules;
});
// Programa el evento si no existe
if ( ! wp_next_scheduled('publicar_desde_txt_event') ) {
wp_schedule_event(time(), 'every_4_hours', 'publicar_desde_txt_event');
}
// Hook que se ejecuta cada 4 h
add_action('publicar_desde_txt_event', function () {
$file = WP_CONTENT_DIR . '/uploads/lote.txt'; // 1 línea = un post
if ( ! file_exists($file) ) return;
$lineas = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if ( empty($lineas) ) return;
// Toma la primera línea y reescribe el archivo con las restantes
$linea = array_shift($lineas);
file_put_contents($file, implode(PHP_EOL, $lineas));
// Espera: Título | Contenido | etiqueta1, etiqueta2
$partes = array_map('trim', explode('|', $linea));
$titulo = $partes[0] ?? 'Entrada automática';
$contenido= $partes[1] ?? '';
$tags = isset($partes[2]) ? array_map('trim', explode(',', $partes[2])) : [];
$post_id = wp_insert_post([
'post_title' => $titulo,
'post_content' => $contenido,
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'post',
'tags_input' => $tags,
]);
// Guarda el timestamp de la próxima publicación (para el countdown)
update_option('next_txt_post_ts', time() + 14400);
});
Snippet (HTML/JS) para cuenta atrás basado en la opción guardada
Inserta este bloque donde quieras mostrar el contador. Requiere que el snippet PHP anterior haya guardado next_txt_post_ts.
<div id="txt-countdown" data-next-ts="<?php echo esc_attr( get_option('next_txt_post_ts') ); ?>">
Próxima publicación en: <span id="txt-countdown-time">--:--:--</span>
</div>
<script>
(function(){
var el = document.getElementById('txt-countdown');
if(!el) return;
var next = parseInt(el.getAttribute('data-next-ts'), 10) * 1000;
var out = document.getElementById('txt-countdown-time');
function pad(n){ return (n<10?'0':'')+n; }
function tick(){
var now = Date.now();
var diff = Math.max(0, next - now);
var h = Math.floor(diff/3600000);
var m = Math.floor((diff%3600000)/60000);
var s = Math.floor((diff%60000)/1000);
out.textContent = pad(h)+':'+pad(m)+':'+pad(s);
if(diff === 0){ clearInterval(iv); location.reload(); }
}
tick();
var iv = setInterval(tick, 1000);
})();
</script>
Mejores plugins para esta tarea
| Plugin | Ventajas principales | Ideal para |
|---|---|---|
| WP All Import | Importa TXT/CSV/XML y mapea campos a posts. | Blogs con grandes lotes de contenido. |
| WP Crontrol | Intervalos personalizados (4 h exactas) y vista del WP-Cron. | Configuraciones técnicas y precisas. |
| Countdown Timer Ultimate | Widget/bloque de cuenta atrás fácil de usar. | Aumentar expectación del usuario. |
| Auto Post Scheduler | Programa publicaciones automáticas desde borradores. | Alternativa sin importar TXT. |
Ejemplo práctico
- Archivo
lote.txtcon 300 líneas (una por post). - WP All Import crea el primer lote y estructura etiquetas.
- WP Crontrol dispara
publicar_desde_txt_eventcada 4 h. - Widget de cuenta atrás muestra el tiempo hasta la próxima entrada.
Comparativa de resultados
| Técnica aplicada | Antes | Después | Mejora |
|---|---|---|---|
| Publicación manual | 2 posts/día | — | — |
| Publicación automatizada (cada 4 h) | — | 6 posts/día | +200 % |
| Tiempo medio en la web | 1:20 min | 2:05 min | +25 % |
Preguntas frecuentes
- ¿Qué plugin permite intervalos exactos de 4 horas?
- WP Crontrol, creando una regla personalizada en
cron_schedules. - ¿Puedo usar solo WP All Import sin WP Crontrol?
- Sí, pero tendrás menos control sobre la frecuencia exacta. Para 4 h exactas, define un cron personalizado.
- ¿Cómo muestro la cuenta atrás de la próxima publicación?
- Con un plugin como Countdown Timer Ultimate o con el snippet HTML/JS anterior.
Errores comunes
- Instalar varios plugins de auto-publicación a la vez.
- TXT mal formateado (sin separadores claros, líneas vacías).
- No probar la compatibilidad del cron en el hosting.
- Olvidar sanitizar/validar el contenido importado.
Checklist rápido
- [ ] TXT/CSV preparado y subido
- [ ] WP All Import configurado
- [ ] WP Crontrol con intervalo 4 h
- [ ] Evento
publicar_desde_txt_eventactivo - [ ] Cuenta atrás visible en la web
Glosario
- WP-Cron: sistema de tareas programadas de WordPress.
- Importación TXT/CSV: lectura de datos desde texto plano o CSV.
- Cuenta atrás: temporizador que muestra el tiempo restante para un evento.
- Sanitizar: limpiar/validar datos antes de guardarlos o mostrarlos.
Conclusión
La combinación de importación desde TXT, un cron de 4 h y un contador visible permite mantener un ritmo alto de publicaciones con mínimo esfuerzo. Un flujo bien estructurado no solo beneficia a tus lectores: también facilita que las inteligencias artificiales encuentren contenido fiable, de calidad y bien organizado.