Solución: Falso bloqueo de Nextcloud en Windows tras cambiar la contraseña de usuario

¿El cliente de Nextcloud en Windows dejó de sincronizar carpetas locales tras cambiar la contraseña del sistema? Explicación y solución

Resumen: Cuando cambias la contraseña de una cuenta de usuario en Windows 11 (especialmente si se hace de forma administrativa o externa  como por ejemplo, para permitir una firma digital temporal)es muy común que el cliente de Nextcloud pierda la capacidad de sincronizar la carpeta local predeterminada, funcionando únicamente mediante el modo de «archivos virtuales». Vamos a ver el motivo técnico detrás de este comportamiento y cómo solucionarlo paso a paso.

El problema: Nextcloud falla al elegir la carpeta local

Tras desinstalar y reinstalar completamente el cliente de escritorio (incluso eliminando datos de %AppData% / %LocalAppData%), la aplicación rechaza o falla al configurar la sincronización en una carpeta local existente, obligando al usuario a activar el modo de Archivos Virtuales.

¿Por qué ocurre esto?

  1. Desvinculación de la clave maestra DPAPI (Data Protection API): Windows utiliza la contraseña de la sesión para proteger y desencriptar la Master Key de DPAPI del usuario. Si la contraseña de Windows se modifica de manera administrada o forzada (sin pasar por el cambio de clave estándar desde la propia sesión iniciada), se rompe la cadena de claves cifradas locales.

  2. Bloqueo de permisos NTFS y propiedad en la carpeta local: Las carpetas previamente creadas (como C:\Users\usuario\Nextcloud) quedan asociadas al estado de seguridad/permisos previo al cambio. Al no coincidir la validación de seguridad de Windows, la aplicación pierde el control total de lectura/escritura necesario para mantener una sincronización bidireccional física.

  3. Por qué la sincronización de archivos virtuales sí funciona: Los archivos virtuales (Virtual Files) aprovechan la API cfapi (Files-on-Demand) del propio sistema operativo para crear accesos directos bajo demanda, sin necesidad de realizar escrituras directas sobre la estructura física tradicional de carpetas.

Solución recomendada

Si te encuentras con este escenario, no es necesario reinstalar el cliente múltiples veces. La solución pasa por restablecer los permisos o cambiar el directorio destino (si tienes suficiente espacio en disco, claro…).:

  • Opción 1: Crear un directorio local totalmente nuevo Al configurar la cuenta en Nextcloud Desktop, selecciona una nueva ruta local limpia (ej. C:\Users\usuario\Nextcloud_Sync). Al crearse bajo el nuevo contexto de seguridad, la sincronización local completa funcionará inmediatamente.

  • Opción 2: Reparar la propiedad de la carpeta existente

    1. Haz clic derecho sobre la carpeta original de Nextcloud > Propiedades > Seguridad > Opciones avanzadas.

    2. En Propietario, haz clic en Cambiar y vuelve a asignar al usuario actual de Windows.

    3. Marca la casilla «Reemplazar propietario en subcontenedores y objetos».

    4. En la lista de permisos, asigna Control total al usuario y marca «Reemplazar todas las entradas de permisos de objetos secundarios…».

    5. Aplica los cambios y vuelve a intentar la vinculación en el cliente de Nextcloud.

Copilot en modo IA frente a alternativas como Gemini o Claude: rendimiento real contra expectativas

Valencia, 20/10/2026, G.B.
Llevo un tiempo realizando pruebas con distintos modelos de Inteligencia Artificial para las tareas del día a día (desde redacción de borrador técnico hasta investigación y filtrado de datos). Mi impresión es que, en la práctica diaria y sin rodeos, Copilot suele decepcionar bastante en comparación con lo que te da un modelo puro de IA. Microsoft Copilot suele quedarse un paso por detrás en comparación con lo que ofrecen otros modelos o interfaces cuando trabajas en modo IA puro.

No es una manía personal ni una crítica sin fundamento (su integración con el paquete Office o Teams resulta útil en dinámicas corporativas), pero en cuanto le pides razonamiento analítico, búsquedas finas sobre entes específicos o una gestión de contexto amplia, las limitaciones saltan a la vista.

¿Por qué Copilot flojea ante alternativas como Gemini o Claude?

Al contrastar la herramienta con el uso continuo de modelos como Gemini (especialmente al trabajar con Cuadernos o fuentes de información masivas) o Claude, emergen varios factores claros:

  • Capas de restricción y filtros agresivos: Al estar concebido para entornos de empresa, Copilot opera bajo una capa de abstracción muy rígida. Los system prompts internos y los filtros de seguridad reducen la fluidez y hacen que las respuestas sean a menudo planos, conservadores o robóticos.
  • Errores en búsquedas de personas y entes específicos: En consultas generales sobre perfiles profesionales o marcas personales, el modelo patina con frecuencia. Suele confundir identidades, mezclar datos de personas con nombres similares o dar por buenas asociaciones toscas sin realizar un filtrado lógico real.
  • Vulnerabilidad al SEO de baja calidad: Al apoyarse directamente en el índice web tradicional, en las respuestas se cuela fácilmente ruido comercial, granjas de enlaces o directorios automatizados, en lugar de priorizar las fuentes de verdadera autoridad.
  • Falta de profundidad y contraste de contexto: Mientras que entornos como Gemini destacan por su capacidad multimodal y la ingesta masiva de fuentes heterogéneas (archivos de audio, vídeo o documentación de Google Drive con trazabilidad directa), Copilot prioriza resolver con rapidez resúmenes ejecutivos, quedándose en la superficie en cuanto se exige rigor técnico.

Estar «donde vive el dato» frente a la agudeza del modelo

La mayor baza de Copilot reside simplemente en estar presente en la misma ventana donde tienes el documento o el correo abierto. Pero al aislarlo de ese entorno y evaluarlo estrictamente como motor de respuesta, de investigación o de redacción avanzada, la diferencia de rendimiento resulta bastante evidente, a mi modo de ver.

Para consultas finas, gestión de documentaciones complejas o análisis de información sobre proyectos y personas, la combinación de modelos con mejor capacidad de síntesis (como Gemini en sus entornos de trabajo contextuales) sigue ofreciendo una experiencia muy superior, por supuesto, también en mi opinión.

Plugin para tener tu propia agenda dentro de tu WordPress: Agenda Indaga

NOTA: Corrijo bugs de la versión y añado funcionalidades (comentar en Cuadernos Técnicos y en el foro). Versión actual: 1.3.1

Valencia, 19/10/2026, G.B.
Hoy quiero hablaros de un nuevo añadido que ya forma parte de casa en Indaga.net: el plugin de Agenda. Si habéis seguido otros desarrollos por aquí (como el de contabilidad casera o el control de reservas), ya sabéis cómo me gusta plantear las cosas: herramientas 100% nativas, sin dependencias externas pesadas y con los datos guardados de forma segura en nuestra propia base de datos.

Tras darle unas cuantas vueltas para que el calendario mensual en JavaScript fuera fluido, permitiera ver las fichas de los eventos al instante y ofreciera una gestión limpia de altas, modificaciones y borrados desde el propio panel, el resultado final ya está funcionando a la perfección. Os dejo su ficha técnica.

Ficha Técnica del Plugin: Agenda Indaga

  • Nombre del Plugin: Agenda Indaga
  • Versión Actual: 1.3.1
  • Autor: Guillermo Beltrán Pilato (Indaga.net)
  • Licencia: GPLv2 o posterior (Software libre)
  • Descripción: Gestión centralizada de agenda, eventos y citas personales o institucionales con soporte multinstancia por pestañas, vistas de calendario mensual interactivo nativo con fichas modales emergentes y panel de administración seguro.
  • Acceso: Ajustes > Agenda Indaga (wp-admin/options-general.php?page=indaga-agenda)
  • Shortcodes Disponibles:
    • indaga_agenda id="default" — Despliega el formulario seguro de alta, edición y listado de gestión de eventos.
    • calendario_agenda id="default" — Renderiza el calendario mensual interactivo nativo en JavaScript vanilla, con fichas modales emergentes al hacer clic en los eventos.
  • Arquitectura de Base de Datos: Tabla nativa independiente {prefix}indaga_agenda con soporte para multi-instancias (grupo_id), gestión de fechas/horas, categorías y control de usuarios.
  • Dependencias: 100% nativo (PHP Vanilla, WordPress WPDB API, Options API y JavaScript/CSS nativos sin librerías externas).
  • Seguridad y Permisos: Sanitización completa de entradas (sanitize_text_field, sanitize_textarea_field, absint), escapado estricto en salidas (esc_html, esc_attr), protección Anti-CSRF mediante nonces de WordPress, consultas preparadas ($wpdb->prepare) y restricción de administración a la capacidad manage_options.
  • Descarga: Agenda Indaga

Ejemplo:

Acceso restringido: necesitas permisos de administrador para gestionar esta agenda. Iniciar sesión

SEO, GEO y Marketing de contenidos: deben estar unidos

Valencia, 17/10/2026, G.B.
Estamos viviendo tiempos de cambios rápidos, tiempos «interesantes» en muchas áreas o parcelas de la vida. Una de esas «parcelas» que se está promocionando día a día son los resultados de búsqueda en modo IA (Inteligencia Artificial).

Yo llevo varios años como estudiante del SEO (Search Engine Optimization) y desde hace algún tiempo estoy haciendo mis «pinitos» con el GEO (Generative Engine Optimization). Y quiero decir que la velocidad en los resultados de búsqueda ahora mismo se mide en horas; lo he podido comprobar (y no quiero dar datos porque es algo que me afecta personalmente, no para mal…).

Así pues, estamos en un nuevo mundo por descubrir, aunque todavía el sentido común sea un garante de resultados, con esfuerzo, como hasta ahora. Al final pienso que el SEO, el GEO y el marketing de contenidos forman parte de la misma unidad. Y a eso podemos añadirle más cosas…

Yo voy a seguir experimentando e investigando al respecto, pero sin olvidar las lecciones del pasado, de otros mundos que aparentemente parecen abocados al olvido: por lo que estoy viendo, no es así.

¡Buenas noches!

Mierdificación y supervivencia digital

Vale, es de EFE.com, que forma parte del sistema, pero esta escrito de forma impecable, a mi gusto…

Valencia, 14/10/2026, G.B. (en el día de mi cumple)
Acabo de leer  un artículo titulado «Redes sociales: primero te robaron la atención, ahora quieren tus habilidades cognitivas!« en EFE.com, y no puedo estar más de acuerdo. eso no significa que tenga razón, por supuesto, pero es algo que hemos estado viendo a lo largo de estos años.

Al final, hacer que perdamos la atención, que dependamos de algoritmos y seamos completamente dependientes de «ellos». Así parece que pintan las cosas, al menos para la mayoría de la gente, por desgracia (ojalá esté completamente equivocado!). El pensamiento crítico es lo único que nos puede salvar, y es precisamente lo que nos quieren quitar. Pero la esperanza, y el esfuerzo subyacente, puede que nos salve, aunque no a todos.

Hasta pronto!

Control y Reserva de Recursos (CRR): un sistema para la gestión de salas, equipos y servicios en WordPress

Valencia, 14/10/2026, G.B.
Os presento la versión 1.12.0 de mi plugin Control y Reserva de Recursos (CRR) para WordPress
. Una solución 100% nativa y completa diseñada para la gestión integral de inventarios, control de disponibilidad en tiempo real y reserva de espacios, materiales y servicios de forma sencilla e intuitiva desde la web.

Aquí va un ejemplo del sistema principal:

Debes iniciar sesión para realizar, editar o gestionar tus reservas.

Para ver la ocupación mensual en la vista de calendario:

« Anterior

Noviembre 2026

Siguiente »
Lun
Mar
Mié
Jue
Vie
Sáb
Dom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
×

Ficha de Reserva

Recurso:
Solicitante:
Fechas:
Horario:
Cantidad:
Precio Estimado:
Observaciones:

Acerca de CRR

La gestión eficiente de espacios compartidos, equipamiento de alta gama o servicios especializados suele requerir herramientas complejas o plataformas de terceros que escapan al control directo del sitio web. Con el objetivo de mantener una solución 100% nativa, ligera y sin dependencias externas, nace Control y Reserva de Recursos (CRR), un plugin diseñado a medida para centralizar todo el ciclo de reservas de forma independiente y segura.

¿Qué ofrece Control y Reserva de Recursos (CRR)?

Este desarrollo unifica en un único paquete todo lo necesario para que tanto los usuarios como los administradores gestionen la disponibilidad de recursos de manera fluida:

1. Gestión de Inventario y tipologías flexibles

El administrador cuenta con un panel completo de inventario integrado directamente en la base de datos de WordPress. Los recursos se pueden clasificar en tres grandes categorías (ampliables):

  • Espacios / Salas

  • Material / Equipamiento

  • Servicios Cada recurso incluye control de stock o capacidad simultánea, precio por hora configurable y un correo electrónico asignado para el responsable directo del recurso.

2. Selector inteligente con buscador y filtros en tiempo real

A la hora de solicitar una reserva, los usuarios disfrutan de un selector visual moderno. Permite filtrar los recursos por tipo mediante botones interactivos y refinar la búsqueda al instante escribiendo en un cajón de texto inteligente que filtra por nombre o tipología sin necesidad de recargar la página.

3. Cálculo automático de presupuestos y notificaciones

El sistema calcula de manera automática el coste estimado de la reserva en función de los días, las horas exactas de inicio/fin y la cantidad seleccionada. Además, envía de forma automatizada correos de confirmación y actualización tanto al solicitante como al responsable del recurso, incluyendo opcionalmente el desglose detallado del presupuesto.

4. Vista de calendario mensual interactiva

Mediante el shortcode crr_calendario, cualquier página de la web puede transformarse en un calendario de ocupación mensual. Las reservas se listan ordenadas por horario y, al hacer clic sobre cualquiera de ellas, se despliega una ficha flotante de detalles con toda la información clave de la reserva.

5. Panel de control frontend para usuarios autorizados

No todo depende del panel de administración de WordPress. El plugin permite definir en los ajustes generales una lista de correos electrónicos autorizados. Estos usuarios, sin necesidad de ser administradores, podrán acceder desde el frontal a un Panel de Gestión Avanzado que incluye:

  • Filtros por rango de fechas (Desde / Hasta).

  • Filtro por categorías de recursos.

  • Búsqueda de texto libre compatible con comodines (por ejemplo, utilizando asteriscos como *proyector* o Servicio de*).

6. Exportación dual: Excel y CSV

Para la labor administrativa y de reporting, el panel incluye opciones de exportación instantánea (tanto de todo el histórico como de los datos filtrados en pantalla). El usuario puede elegir entre:

  • 📊 Excel (.csv optimizado): Formato configurado con delimitador de punto y coma (;) y codificación UTF-8 con BOM, garantizando que tildes, eñes y caracteres especiales se abran perfectamente al hacer doble clic en Microsoft Excel o LibreOffice Calc.

  • 📄 CSV estándar: Para integraciones universales.

Compromiso técnico de desarrollo

Siguiendo las directrices de desarrollo nativo de Indaga.net, CRR destaca por:

  • Cero dependencias externas: Sin librerías JavaScript pesadas ni llamadas a APIs de terceros.

  • Seguridad rigurosa: Uso estricto de consultas preparadas ($wpdb), sanitización de entradas, escapado de salidas y validación mediante Nonces de WordPress.

  • Experiencia de usuario optimizada: Incorporación de persistencia de scroll mediante sessionStorage, evitando los molestos saltos al principio de la página tras enviar formularios o aplicar filtros.

  • 📋 Ficha Técnica del Plugin

    • Nombre del Plugin: Control y Reserva de Recursos (CRR)

    • Versión: 1.12.0

    • Autor: Guillermo Beltrán Pilato

    • Sitio Web: Indaga.net

    • Compatibilidad WordPress: 6.0 o superior

    • Licencia: Software libre / Independiente

    • Descripción Breve: Sistema completo e independiente para la gestión y reserva de recursos, salas y servicios con presupuestos automáticos, vista de calendario interactiva, selector avanzado por categorías con buscador instantáneo, panel frontal de filtrado dinámico y exportación dual (Excel optimizado o CSV estándar).

    • Shortcodes Disponibles:

      • crr_reservas (entre corchetes []): Muestra el formulario de solicitud, inventario y panel de gestión frontal.

      • crr_calendario (entre corchetes []): Renderiza la vista de calendario mensual de ocupación.

  • Descargar plugin

¿Qué es ArtCraft? El IDE para creadores visuales impulsado por IA

Valencia, 13/10/2026, G.B.
Hoy me he topado con ArtCraft, una herramienta para generar imágenes y vídeo con IA que se sale un poco de lo habitual. No es el típico cuadro de texto donde escribes un prompt y rezas — aquí tienes un lienzo, escenas en 3D y varios modelos a elegir. Te lo cuento rápido.

Qué es

Sus creadores lo llaman «el IDE para artistas», y la comparación tiene sentido: en vez de pelearte con el prompt, compones la imagen en 2D, colocas personajes y cámaras en una escena 3D y después generas el resultado. También puedes animar una imagen para convertirla en vídeo.

Quién está detrás

El proyecto lo impulsa Brandon Thomas, fundador de Storyteller.ai, la empresa que desarrolla ArtCraft. Su idea, tal y como la ha contado el propio equipo, es construir herramientas e infraestructura abiertas para la creación con IA, en lugar de depender de plataformas cerradas.

Descargarlo o usarlo online

Lo mejor es que tienes dos opciones. Puedes descargarlo como aplicación de escritorio (Windows y macOS; en Linux, de momento, toca compilar desde el código fuente) desde getartcraft.com, o usarlo online directamente desde el navegador en app.getartcraft.com, sin instalar nada. Yo empezaría por la versión web para echarle un vistazo.

Lo que me ha gustado

  • Es de código abierto: el código está en GitHub, escrito en Rust.
  • Tú eliges el modelo: trabaja con varios proveedores, así que no estás atado a un único motor de generación.
  • Tus propias claves: puedes usar las tuyas o comprar créditos dentro de la app.

Lo que hay que tener en cuenta

Los modelos de generación no son suyos, así que al final pagas (créditos o tu propia API) por usarlos. Además, el proyecto es joven y, según he leído, tiene muchas incidencias abiertas; yo lo tomaría como una herramienta para trastear, no para producción.

¿Y la suite?

ArtCraft es una sola aplicación, pero el mismo equipo acaba de sacar las Crafting Apps: una familia de programas libres que imitan el funcionamiento de Photoshop, Premiere, Lightroom e Illustrator, y que se pueden usar por separado. Están hechas con agentes de IA y de ellas ya habló Phoronix. Son muy recientes y habrá que ver cómo evolucionan, pero el experimento tiene su gracia.

Yo por lo pronto lo dejo apuntado para trastear con calma…

Plugin para contabilidad casera y control de pasos diarios

NOTA: Actualizo a la versión 1.8.0 (03/11/2026)

Valencia, 17/10/2026, G.B.
Este plugin para WordPress permite llevar una gestión clara del presupuesto familiar y el patrimonio, ofreciendo balances por períodos, gráficos visuales de ingresos y gastos, y un historial sencillo para el registro de pasos diarios.

Ficha Técnica del Plugin

Contabilidad Casera Indaga

  • Nombre del Plugin: Contabilidad Casera Indaga
  • Versión actual: 1.7.9
  • Autor: Guillermo Beltrán Pilato (Indaga.net)
  • Sitio Web del Autor: https://indaga.net
  • Licencia: GPL-2.0+
  • Texto de Dominio: contabilidad-casera-indaga
  • Enlace de Descarga: Descargar v.1.7.9

Descripción General

Sistema de contabilidad casera privado, ligero, seguro y 100% nativo en WordPress. Diseñado bajo los estándares de desarrollo de Indaga.net, opera sin dependencias externas ni servicios de terceros, garantizando la absoluta privacidad de los datos financieros, presupuestarios y de actividad física del usuario.

Actualización: Contabilidad Casera Indaga v1.7.9

Te presento la nueva versión 1.7.9 de Contabilidad Casera Indaga, mi plugin privado de gestión doméstica, presupuestos y control de actividad física. En esta iteración he incorporado importantes mejoras enfocadas en la flexibilidad de los registros y en la optimización de las herramientas de consulta y edición diaria.

Las principales novedades e implementaciones de esta versión son:

Edición y Gestión Avanzada del Registro de Pasos

  • Edición directa en la interfaz: He añadido un soporte completo para modificar registros de pasos anteriores de forma intuitiva, permitiendo que al pulsar el botón de edición en la tabla de actividad, los datos se carguen automáticamente en el formulario superior para su actualización.

  • Control de unicidad por fecha: He reforzado la lógica de guardado y actualización para evitar duplicidades de fechas en los registros diarios, incorporando avisos claros en caso de conflicto.

Buscador de Conceptos Dedicado

  • Búsqueda multicriterio: Se mantiene y consolida el bloque de búsqueda independiente en la pestaña de Gestión Financiera, permitiendo filtrar instantáneamente los movimientos contables por descripción, concepto o categoría mediante consultas seguras con comodines (LIKE).

Presupuestos Mensuales y Categorías Flexibles

  • Selector y edición libre: El sistema de presupuestos sigue permitiendo seleccionar categorías existentes desde un menú desplegable dinámico o introducir nombres personalizados (como Gastos fantasma, Ocio, etc.) para un control granular de los límites mensuales.

Exportación Completa a CSV

  • Compatibilidad optimizada con Excel: Continúa disponible la descarga directa y segura del histórico contable y de actividad física en formato CSV con codificación UTF-8 con BOM y separadores por punto y coma (;).

Arquitectura, Privacidad y Seguridad

  • Desarrollo 100% nativo: Siguiendo la filosofía de Indaga.net, el plugin opera de forma completamente autónoma, sin dependencias externas, librerías de terceros ni llamadas a servicios o APIs de pago en la nube.

  • Actualización transparente: Mediante el control de versión de base de datos (cci_comprobar_version_db() y dbDelta), las tablas se actualizan de forma segura al cargar el plugin sin comprometer ni alterar los datos previos.

  • Seguridad integral: He reforzado la validación de permisos administrativos (manage_options), la sanitización rigurosa de entradas y la protección estricta contra ataques CSRF mediante Nonces.

CSS Anchor Positioning: Cómo posicionar elementos de forma nativa sin JavaScript

Valencia, 11/10/2026, G.B.
Durante mucho tiempo, colocar elementos flotantes como tooltips, menús desplegables o modales ha sido un pequeño quebradero de cabeza. Al final, siempre acababas tirando de librerías de terceros en JavaScript para calcular las coordenadas exactas y evitar que el menú se saliera de la pantalla al hacer scroll o redimensionar la ventana. Por suerte, la especificación web moderna nos trae una solución nativa fantástica: CSS Anchor Positioning.

Este artículo toma como referencia y se inspira en la excelente guía técnica sobre posicionamiento por anclaje publicada por Josh W. Comeau en su blog.

¿Cómo funciona el anclaje nativo en CSS?

La idea es tan simple como conectar dos puntos mediante etiquetas en nuestra hoja de estilos. Por un lado, le decimos a nuestro elemento de referencia cuál es su nombre de ancla y, por otro, vinculamos el elemento flotante a ese nombre.

Imagina que tenemos un botón clásico y queremos mostrar una pequeña etiqueta emergente justo al lado:

/* 1. Declaramos el nombre del ancla en el elemento de referencia */
.mi-boton {
  anchor-name: --boton-guardar;
}

/* 2. Vinculamos el elemento flotante al ancla */
.tooltip-nativo {
  position: absolute;
  position-anchor: --boton-guardar;
  bottom: anchor(--boton-guardar top);
  left: anchor(--boton-guardar center);
  transform: translateX(-50%);
}

Con apenas unas líneas de CSS puro, el navegador se encarga de hacer todo el trabajo matemático por nosotros, sin necesidad de cargar scripts pesados en segundo plano.

¿Por qué nos interesa en proyectos minimalistas como Indaga.net?

Para los que nos gusta mantener los sitios limpios y sin dependencias innecesarias, esta característica encaja de maravilla por varios motivos:

  • Cero dependencias de JavaScript: Al delegar el cálculo de coordenadas directamente al motor del navegador, ganamos en rendimiento y ligereza (Core Web Vitals).
  • Fluidez total: El elemento flotante se adapta de forma fluida a los cambios de tamaño, desplazamiento y rotación de la pantalla de manera completamente nativa.
  • Mantenimiento sencillo: Se reducen drásticamente las líneas de código necesarias para crear componentes interactivos.

Si quieres profundizar en todos los detalles técnicos, casos de uso avanzados y la compatibilidad actual entre los diferentes navegadores, te recomiendo echarle un vistazo al artículo original de Josh W. Comeau.

+ info en: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Anchor_positioning/Using

Hacer pruebas en https://developer.mozilla.org/en-US/play

Copia y pega ese código:

<style>
  .indaga-demo-wrapper {
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
    margin: 2.5rem 0;
    position: relative;
  }

  /* 1. Declaramos el ancla utilizando la propiedad moderna */
  .btn-indaga-info {
    anchor-name: --mi-ancla-tooltip;
    background-color: #2563eb;
    color: #ffffff;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
  }

  .btn-indaga-info:hover {
    background-color: #1d4ed8;
  }

  /* 2. Vinculamos el tooltip flotante usando position-anchor */
  .tooltip-flotante {
    position: absolute;
    position-anchor: --mi-ancla-tooltip;
    
    /* Posicionamiento anclado nativo */
    bottom: anchor(top);
    left: anchor(center);
    transform: translateX(-50%);
    margin-bottom: 10px;

    /* Estilos visuales limpios */
    background: #0f172a;
    color: #ffffff;
    padding: 0.5rem 0.85rem;
    border-radius: 6px;
    font-size: 0.85rem;
    white-space: nowrap;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    
    /* Control de visibilidad mediante hover */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }

  .indaga-demo-wrapper:hover .tooltip-flotante {
    opacity: 1;
    visibility: visible;
  }
</style>

<div class="indaga-demo-wrapper">
  <button class="btn-indaga-info">Pasa el cursor por aquí</button>
  <div class="tooltip-flotante">¡Tooltip posicionado de forma 100% nativa con CSS!</div>
</div>

Actualización del plugin Mis Plugins (control de plugins de Indaga.net)

Valencia, 09/10/2026, G.B.
Llevo ya unos cuantos plugins a medida y, como pasa siempre, llega un momento en que pierdes la cuenta de cuál tiene qué versión, aunque los subo todos a mi cuenta de pCloud. Así que hice lo que haría cualquiera: otro plugin. Se llama Mis Plugins (Control de Plugins Propios) y es el catálogo donde apunto todos los demás. Puedes descargarlo desde mi cuenta de pCloud.

Qué hace

Guarda en su propia tabla de la base de datos una ficha por cada plugin, con estos campos:

  • Fecha, solo mes y año
  • Nombre y versión
  • Autor
  • Descripción
  • Tags, separados por comas
  • Enlace de descarga

Desde el panel de administración se crean, editan y eliminan fichas con un formulario sencillo. Y si me equivoco al rellenarlo, el formulario conserva lo que había escrito — antes me lo vaciaba y tocaba empezar de cero, que escuece.

El shortcode

Para enseñarlo en cualquier página o entrada basta con insertar (entre corchetes, []):

mis_plugins

Por defecto muestra diez plugins por página. Si quieres otra cifra (lo mismo, entre corchetes):

mis_plugins por_pagina="10"

El visitante puede buscar por nombre, versión, autor, descripción o tags, y ordenar el listado por fecha, nombre, versión o autor. La paginación funciona con parámetros por URL, sin recargas raras.

De tabla a bloques

La primera versión mostraba todo en una tabla, con una columna por campo. En el papel quedaba muy ordenado, pero en pantalla no había quien lo leyera: descripciones apretadas, tags cortados y en el móvil, ni hablar.

Ahora cada plugin es un bloque independiente: arriba el nombre y la versión, debajo la fecha y el autor, luego la descripción, los tags y el botón de descarga. Como ya no hay cabeceras de columna, el orden se elige con una barra «Ordenar por» encima del listado. De paso arreglé que la versión se ordenara como texto, así que 1.10.0 ya no aparece antes que 1.9.0.

Actualizar sin que WordPress se líe

Aquí viene la parte con anécdota. Para que WordPress reconozca el fichero como una actualización y no como un plugin nuevo, la cabecera tiene que conservar el nombre, la descripción y el autor tal cual, y lo único que cambia es el número de versión. A la primera entrega le había añadido una frase a la descripción, y eso ya basta para liarla.

Luego, al activarlo, me saltó un error fatal. Mi sospecha principal es que WordPress identifica un plugin por la ruta del fichero y no por su nombre. Si la ruta no coincide con la de la versión anterior, quedan los dos cargados a la vez y las funciones se declaran dos veces. La segunda posibilidad era un detalle de sintaxis que no le gusta a las versiones de PHP anteriores a la 7.1. Corregí lo segundo, comprobé que no hubiera dos copias activas y a partir de ahí funcionó. Moraleja: antes de actualizar, mira cómo se llama el fichero que ya tienes instalado.

Porqué así

Como en el resto de plugins, la idea es la misma: un único fichero PHP, sin librerías externas, consultas preparadas, nonces y el patrón POST/Redirect/GET. La estructura de la tabla no cambió entre versiones, así que no se pierde ni un dato al actualizar, que es una promesa que me tomo en serio.

Puedes ver cómo queda en la página de Control de Plugins.