Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/davidzoque/dox-functions/archive/refs/heads/main.zipUpdates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.
Administra funciones de PHP y scripts del sitio (el píxel de Meta, Google Analytics, una verificación de dominio) desde un panel visual con la marca Dox Studio, sin tocar functions.php ni el tema. Activa o desactiva cada uno con un clic.
Características
- Dos tipos: PHP (se ejecuta con
eval()) y HTML, JS o CSS, que se pega tal cual y se imprime en la cabecera, al inicio del body o en el pie de la web pública (nunca en el escritorio ni enwp-login.php) - Activa/desactiva snippets con un clic (sin recargar la página)
- Ámbitos: todo el sitio, solo admin, solo frontend, o "ejecutar una vez" (corre en la siguiente carga y se desactiva solo; ideal para migraciones y arreglos puntuales)
- Editor con resaltado de sintaxis PHP, guardado con
Ctrl/Cmd+Sy botón para validar la sintaxis sin guardar - Auto-desactivación segura: si un snippet falla al cargar, se desactiva solo (evita la pantalla blanca) y el error queda visible en la lista, el editor y un aviso del admin
- Exportar/importar funciones en JSON para reutilizarlas entre sitios (las importadas llegan siempre desactivadas)
- Modo seguro de emergencia: añade
?dox_safe_mode=1a cualquier URL del admin para detener todos los snippets, odefine( 'DOX_FUNCTIONS_SAFE_MODE', true );enwp-config.phpsi no puedes ni iniciar sesión
Seguridad
Quién puede hacer qué depende del tipo de snippet:
- PHP se ejecuta con
eval(). Si el sitio defineDISALLOW_FILE_EDIToDISALLOW_FILE_MODS, los snippets PHP no se ejecutan y no se pueden guardar, importar, duplicar ni activar: la pantalla avisa arriba y la tarjeta del tipo PHP sale desactivada. Los que ya estaban guardados se ven y se pueden borrar. - HTML, JS o CSS se imprime sin filtrar en la web pública, así que pide el permiso
unfiltered_html, el mismo que WordPress exige para publicar scripts en una entrada. Sin él (por ejemplo conDISALLOW_UNFILTERED_HTML), los snippets HTML no se pueden guardar, importar, duplicar ni activar, y la tarjeta del tipo HTML sale desactivada con el motivo. Las constantesDISALLOW_FILE_*no los paran: no ejecutan nada en el servidor.
- Apagar cualquier snippet siempre se puede. El modo seguro para los dos tipos.
En una red multisitio solo los Super Admins de red pueden crear, editar, activar o ejecutar snippets de los dos tipos, igual que WordPress reserva la edición de código y unfiltered_html a los Super Admins.
Requisitos
- WordPress 5.5+
- PHP 7.4+
Instalación
- Descarga el ZIP de la última release (
dox-functions.zip). - En WordPress: Plugins → Añadir nuevo → Subir plugin, elige el ZIP y actívalo.
- Ve a Dox Plugins → Dox Functions.
Ámbitos
Para los snippets PHP:
- Todo el sitio: en cualquier petición, incluida la pantalla de acceso.
- Solo admin: solo en el escritorio con sesión iniciada (no en admin-ajax, admin-post ni cron).
- Solo frontend: todo lo que no es el escritorio. Eso incluye la API REST, XML-RPC, el cron de WordPress y
wp-login.php. - Ejecutar una vez: en la siguiente petición, y se desactiva solo.
Para los snippets HTML, JS o CSS (ubicación):
- Cabecera: dentro de
<head>(wp_head). Píxeles, Analytics, verificaciones y estilos. - Inicio del body: justo al abrir
<body>(wp_body_open). El `