=== BSK Recordar ===
Contributors: JRMora, AI Partner
Donate link: https://jrmora.com
Tags: bluesky, atproto, social, post, automatico, cron, efemerides, wordpress
Requires at least: 5.0
Tested up to: 6.5.5
Stable tag: 1.4.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Plugin Name: BSK Recordar

== Description ==

BSK Recordar es un plugin básico para WordPress diseñado para automatizar la publicación de contenido de archivo (efemérides) en la red social Bluesky.

Este plugin se integra con el sistema de CRON de WordPress para:

* **Publicar automáticamente** posts antiguos ("Un día como hoy, hace N años") en los horarios y años de antigüedad definidos por el usuario.
* **Compatibilidad Total con Multidioma:** Detecta y permite filtrar posts por idioma (e.g., 'es') si utilizas plugins como Polylang o WPML.
* **Publicación Inmediata de Posts Nuevos:** Opcionalmente, puede enviar un post a Bluesky inmediatamente tras su publicación en WordPress.
* **Control Editorial:** Permite excluir posts específicos (por ID) para evitar su publicación automática como efemérides o como nuevo contenido.
* **Manejo de Enlaces (Embeds):** Genera el embed de enlace con imagen, título y extracto en Bluesky, si el post tiene imagen destacada.
* **Herramientas de Diagnóstico:** Incluye funciones de prueba de conexión, prueba de consulta de Hemeroteca y una herramienta de reinicio del CRON.

**Requisitos:** Una cuenta de Bluesky y una App Password.

== Installation ==

1.  Sube la carpeta `bsk-recordar` a tu directorio `/wp-content/plugins/`.
2.  Activa el plugin a través del menú 'Plugins' en WordPress.
3.  Ve a la nueva entrada de menú **BSK Recordar** en tu administración de WordPress.
4.  Introduce tus credenciales de Bluesky (Handle y App Password).
5.  Define los horarios y la antigüedad de los posts que deseas publicar automáticamente. ¡Asegúrate de guardar los cambios para programar las tareas CRON!

== Changelog ==

= 1.5.8 (30-11-2025) =

Rollback y Estabilidad: Se elimina por completo la funcionalidad de "Programación Especial" para garantizar la máxima estabilidad y evitar el conflicto fatal en el entorno CRON.

MEJORA: Se consolida y se simplifica la herramienta de "Diagnóstico de CRON". Ahora se muestra una caja de estado en la configuración que indica la hora exacta de la última ejecución del CRON y su resultado (Éxito, No hay posts, o Fallo por "Missed Event"). 

REFORZADO: Se mantiene la corrección de 1 hora para el desfase horario del servidor.

1.5.8 (30-11-2025) 

Rollback y Estabilidad: Se elimina por completo la funcionalidad de "Programación Especial" para garantizar la máxima estabilidad y evitar el conflicto fatal en el entorno CRON.

MEJORA: Se consolida y se simplifica la herramienta de "Diagnóstico de CRON". Ahora se muestra una caja de estado en la configuración que indica la hora exacta de la última ejecución del CRON y su resultado (Éxito, No hay posts, o Fallo por "Missed Event"). 

REFORZADO: Se mantiene la corrección de 1 hora para el desfase horario del servidor.

= 1.4.7 (2025-11-29) =
* **NUEVO:** Añadido un selector de idioma dinámico en la configuración. Este selector solo aparece si se detecta un plugin de multidioma (Polylang/WPML o cualquier plugin que use la taxonomía `language`).
* **MEJORA:** La función de búsqueda de efemérides (`bsk_recordar_query_posts`) ahora utiliza la configuración de idioma seleccionada, permitiendo filtrar por un idioma específico, incluir todos los idiomas, o desactivar la búsqueda por completo.

= 1.4.6 (2025-11-28) =
* **FIX CRÍTICO:** Se eliminó la restricción de idioma hardcodeada en la consulta de posts (`tax_query`) para garantizar la compatibilidad con sitios monolingües. La consulta ahora es flexible y busca posts en cualquier idioma si no existe una taxonomía específica.

= 1.4.5 (2025-11-27) =
* **FIX CRÍTICO:** Corregido el error 404 de los assets (`bsk-recordar-admin.css` y `.js`) causado por una ruta incorrecta (`plugins_url`). Se ajustó la función `enqueue_admin_assets` para utilizar `plugin_dir_url(__FILE__)` de forma robusta.

= 1.4.4 (2025-11-26) =
* **MEJORA:** Implementado el manejo de horarios y años mediante una tabla dinámica y Drag and Drop.
* **OPTIMIZACIÓN:** Uso de `<template>` en el HTML para evitar errores de renderizado de la tabla dinámica en el admin.

= 1.4.3 (2025-11-25) =
* **MEJORA:** Se limpiaron las entidades HTML del extracto del post antes de enviarlo a Bluesky, evitando que aparezcan códigos HTML en el embed.

= 1.4.2 (2025-11-24) =
* **FIX:** Corregida la autenticación para incluir la longitud del App Password en el mensaje de error de diagnóstico, facilitando la depuración de credenciales.

= 1.4.1 (2025-11-23) =
* **NUEVO:** Añadida una herramienta de **Reinicio de CRON** en el panel de administración para solucionar problemas de ráfagas o publicaciones perdidas.

= 1.4.0 (2025-11-22) =
* **NUEVO:** Implementada la lógica de **Exclusión de IDs** para posts que nunca deben ser republicados o publicados automáticamente.

= 1.3.2 (2025-11-21) =
* **FIX:** Implementado un script de limpieza de URL para eliminar los parámetros `?bsk_message` o `?bsk_error` de la barra de dirección tras una acción en el admin.

= 1.3.0 - 1.3.1 (2025-11-20) =
* **MEJORA:** Implementada la funcionalidad de **Publicación Manual**.
* **MEJORA:** Implementada la lógica para **Publicar Posts Nuevos Inmediatamente**.

= 1.2.0 (2025-11-19) =
* **FIX CRÍTICO:** Implementada la corrección de 1 hora (`-3600s`) para el CRON de WordPress para compensar desfases de servidor.
* **MEJORA:** Bloqueo de **Missed Events** en el CRON para evitar ráfagas de publicación a horas incorrectas.

= 1.1.0 (2025-11-18) =
* **MEJORA:** Refactorización del manejo de las efemérides para poder buscar múltiples posts en distintos años por cada hora de publicación programada.

= 1.0.0 (2025-11-17) =
* Lanzamiento inicial. Funcionalidad básica de conexión con Bluesky y publicación simple de efemérides.