Skip to content

Añade dos campos por entrada/página/CPT para inyectar código en wp_head y justo después de la etiqueta <body>.

Notifications You must be signed in to change notification settings

luchoweb/lw-html-code-injector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

=== LW HTML Code Injector ===
Contributors: luchoweb
Author: Lucho Web (https://luchoweb.dev)
Tags: head, body, code injector, custom code, html, scripts
Requires at least: 5.0
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Agrega código HTML personalizado en el <head> y justo después del <body> mediante cajas meta en posts, páginas y Custom Post Types. Incluye medidas de seguridad y opciones de control para administradores.

== Description ==

**LW HTML Code Injector** permite insertar código HTML en dos ubicaciones clave del tema:
- Dentro del `wp_head`
- Inmediatamente después de `<body>` vía `wp_body_open`

Estas inserciones funcionan en:
- Entradas (posts)
- Páginas
- Custom Post Types públicos

El plugin añade dos textarea en una meta box llamada **“Head & Body Injector”**, visibles únicamente para administradores o usuarios con la capacidad `unfiltered_html`.

### Características principales

- Inserción de HTML personalizada por cada post/page/CPT.
- Sanitización automática para usuarios sin `unfiltered_html`.
- Eliminación de atributos peligrosos como `onclick`, `onload`, etc.
- Lista segura de etiquetas permitidas mediante `wp_kses`.
- Fallback opcional para temas sin `wp_body_open` (desactivado por defecto).
- Registro de autor y fecha de modificación del código.
- Compatible con shortcodes.
- Compatible con cualquier tema moderno.

### Seguridad

Este plugin incluye capas de protección:
- La meta box solo aparece para administradores o usuarios con permisos elevados.
- El contenido se **saneá al guardar** para roles sin `unfiltered_html`.
- Se evita la ejecución de scripts no autorizados y atributos con eventos.
- El fallback que usa `innerHTML` en el `<body>` está **desactivado por defecto**.
- Se recomienda activar 2FA para administradores y configurar una política CSP en el servidor.

Aun así, ten en cuenta:
- Los administradores pueden insertar código no filtrado (intencional).
- No instales este plugin en sitios donde usuarios no confiables puedan editar contenido.

### Casos de uso

- Códigos de tracking por página.
- Scripts específicos para campañas.
- Snippets de HTML único por entrada.
- Integraciones personalizadas sin modificar archivos de tema.

== Installation ==

1. Sube la carpeta del plugin a `/wp-content/plugins/lw-html-code-injector/`  
   o instala el ZIP desde **Plugins → Añadir nuevo → Subir plugin**.

2. Activa el plugin.

3. Edita una entrada/página/CPT y verás la meta box **Head & Body Injector**.

4. Agrega tu código HTML donde necesites.  
   - Se insertará en `wp_head()` o `wp_body_open()` dependiendo del campo.  
   - Si tu tema no usa `wp_body_open()`, puedes activar el fallback (requiere editar `wp-config.php` o añadir un filtro).

== Frequently Asked Questions ==

= ¿Puedo insertar scripts completos? =
Solo si tu usuario tiene la capacidad `unfiltered_html`. De lo contrario, el plugin limpia el contenido para mantener el sitio seguro.

= ¿Es seguro usarlo en sitios con muchos editores? =  
Recomendado únicamente para sitios donde solo administradores tengan acceso a estas cajas meta.

= ¿Puedo usar shortcodes en los campos? =  
Sí. WordPress procesará los shortcodes antes de imprimir el contenido.

= ¿Qué pasa si mi tema no tiene wp_body_open()? =  
El código para `<body>` no se imprimirá, a menos que habilites el fallback manualmente.

== Changelog ==

= 1.0.1 =
- Añadida sanitización avanzada con eliminación de event handlers.
- Meta box limitada a administradores/unfiltered_html.
- Fallback para body desactivado por defecto por motivos de seguridad.
- Registro de autor y fecha.
- Mejoras de estabilidad.

= 1.0.0 =
- Versión inicial.

== License ==

Este plugin está bajo GPLv2 o posterior. Eres libre de modificarlo y redistribuirlo bajo la misma licencia.

About

Añade dos campos por entrada/página/CPT para inyectar código en wp_head y justo después de la etiqueta <body>.

Topics

Resources

Stars

Watchers

Forks

Languages