YGB User Blocker
Plugin independiente derivado del módulo de bloqueo de usuarios de YGB Escudo 2. Permite bloquear indefinidamente cuentas, con persistencia del email aunque la cuenta sea eliminada. Incluye mensajes personalizados globales o por usuario.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/yosdeny/ygb-user-blocker/archive/refs/heads/main.zipBloqueo indefinido de usuarios por ID o email para WordPress. Impide el acceso al login normal y de WooCommerce, desconecta sesiones activas y redirige a la home. Incluye persistencia del email aunque la cuenta sea eliminada y mensajes personalizados globales o por usuario.
Versión: 1.0.0
Autor: YGB
Licencia: GPL-2.0+
Requiere WordPress: 5.8+
Probado hasta: 6.5
✨ Características principales
- 🔒 Bloqueo por email o ID de usuario.
- 🧠 Persistencia del bloqueo aunque la cuenta sea eliminada.
- 🚫 Impide el acceso al login normal y al de WooCommerce.
- 🧹 Desconexión automática de sesiones activas.
- 🔀 Redirección a la home o mensaje de error configurable.
- 💬 Mensajes personalizados por usuario o globales.
- 📋 Página de administración para buscar, bloquear y desbloquear usuarios.
- 🧾 Registro opcional en trazas de YGB Escudo 2 (si está presente).
- ✅ Capability propia
ygb_ub_manageasignada al rol administrador.
📦 Requisitos
- WordPress 5.8 o superior.
- PHP 7.4 o superior (recomendado 8.1+).
- MySQL 5.7+ o MariaDB 10.2+.
- WooCommerce (opcional para bloqueo en tienda).
🚀 Instalación
- Descarga el plugin como archivo ZIP o clona este repositorio en
wp-content/plugins/ygb-user-blocker. - Activa el plugin desde el menú Plugins en WordPress.
- Automáticamente se creará la tabla
wp_ygb_ub_blocked_usersy la capabilityygb_ub_manage. - Accede a Usuarios → Usuarios Bloqueados para gestionar los bloqueos.
🧭 Uso
Bloquear usuarios
- Ve a Usuarios → Usuarios Bloqueados.
- Usa el campo de búsqueda para encontrar usuarios por email, nombre de usuario o nombre visible.
- Selecciona uno o varios usuarios.
- Escribe un motivo (obligatorio) y, opcionalmente, un mensaje personalizado.
- Pulsa Bloquear seleccionados.
Desbloquear usuarios
En la misma página, en la tabla de bloqueados, pulsa Desbloquear en la fila correspondiente.
Configuración global
- Activa o desactiva el mensaje personalizado al bloquear.
- Define el mensaje global que verán los usuarios bloqueados.
⚙️ Hooks disponibles
Acciones
ygb_ub_user_blocker_blocked— Se ejecuta al bloquear un usuario. Parámetros:(string $email, string $reason).ygb_ub_user_blocker_unblocked— Se ejecuta al desbloquear. Parámetros:(string $email, int $user_id).
Filtros
No se incluyen filtros públicos en esta versión.
🗂 Estructura del plugin
ygb-user-blocker/ ├── ygb-user-blocker.php ├── uninstall.php ├── readme.md ├── readme.txt ├── includes/ │ ├── class-user-blocker.php │ ├── class-user-blocker-install.php │ └── admin/ │ └── class-admin-user-blocker.php
❓ Preguntas frecuentes
¿El bloqueo persiste si elimino la cuenta del usuario?
Sí, el email queda registrado en la tabla personalizada y se mantiene el bloqueo.
¿Puedo bloquear sin motivo?
No, el motivo es obligatorio para trazabilidad.
¿Qué ocurre si desactivo el mensaje personalizado?
El login fallará silenciosamente y redirigirá a la home.
¿Funciona con WooCommerce?
Sí, se integra con el login, checkout, carrito y página de mi cuenta.
🧪 Changelog
1.0.0
- Versión inicial independiente.
- Desacoplamiento de YGB Escudo 2.
- Prefijo propio
ygb_ub_en tabla, opciones y meta keys. - Capability
ygb_ub_manage. - Mejoras de sanitización y seguridad.
📄 Licencia
Este plugin está licenciado bajo GPL-2.0+. Puedes usarlo, modificarlo y distribuirlo libremente.
👥 Créditos
Desarrollado por el equipo de YGB como parte del ecosistema de seguridad YGB Escudo.