Administrar un sitio web en WordPress no requiere llenar tu instalación con decenas de plugins pesados para resolver tareas cotidianas de rendimiento, seguridad y experiencia de usuario. Muchas de estas mejoras se logran mediante pequeñas funciones en PHP. El plugin Code Snippets es la herramienta ideal para aplicar estas optimizaciones de forma segura, aislada e independiente del tema que utilices.
En este tutorial práctico te compartimos tres fragmentos de código PHP esenciales que todo administrador web debería implementar. Además de incluir el código listo para copiar y pegar, te explicamos minuciosamente cómo funciona cada línea para que entiendas la lógica detrás de cada ajuste.
¿Por qué gestionar snippets PHP con Code Snippets?
Instalar un plugin completo para deshabilitar una característica menor de WordPress recarga el panel de administración y añade scripts innecesarios. Por otra parte, escribir estas funciones directamente en el archivo functions.php de tu tema o tema hijo implica un gran riesgo: si cometes un error tipográfico, puedes bloquear tu sitio completo con un error fatal.
Ventajas de esta metodología:
- Seguridad mejorada: Code Snippets cuenta con un analizador que detiene la ejecución si detecta errores de sintaxis en tu código.
- Portabilidad total: Si actualizas o cambias de tema en el futuro, no perderás las personalizaciones que hayas configurado.
- Rendimiento superior: Reduces la cantidad de plugins activos y mantienes la base de datos limpia de tablas redundantes.
Snippet 1: Desactivar XML-RPC para proteger tu sitio contra ataques de fuerza bruta
El protocolo XML-RPC se creó para permitir la comunicación remota con WordPress. Sin embargo, en la actualidad la gran mayoría de las aplicaciones y servicios integrados interactúan directamente mediante la REST API nativa. Dejar XML-RPC activo expone tu sitio a ataques automáticos de fuerza bruta y amplificación DDoS.
Código PHP:
PHP
// Deshabilitar el protocolo XML-RPC por motivos de seguridad
add_filter( 'xmlrpc_enabled', '__return_false' );
Explicación línea por línea:
add_filter( 'xmlrpc_enabled', ... ): Engancha una función personalizada al filtroxmlrpc_enabledque consulta WordPress cada vez que recibe una solicitud XML-RPC.'__return_false': Es una función auxiliar interna de WordPress que devuelve de manera directa el valor booleanofalse. Esto desactiva por completo la interfaz XML-RPC sin realizar consultas adicionales a la base de datos.
Snippet 2: Deshabilitar la barra de administración en el Front-End para usuarios no administradores
La barra superior de administración de WordPress (Admin Bar) resulta útil para quienes gestionan el contenido, pero para clientes, suscriptores o miembros de una comunidad puede ensuciar el diseño visual o revelar opciones innecesarias.
Código PHP:
PHP
// Ocultar la barra de administración a usuarios que no son administradores
function ocultar_barra_admin_usuarios() {
if ( ! current_user_can( 'administrator' ) ) {
show_admin_bar( false );
}
}
add_action( 'after_setup_theme', 'ocultar_barra_admin_usuarios' );
Explicación línea por línea:
- Línea 2: Declaramos la función
ocultar_barra_admin_usuarios()para agrupar nuestra lógica condicional. - Línea 3: La condicional
if ( ! current_user_can( 'administrator' ) )evalúa la capacidad del usuario conectado. El signo de exclamación!invierte la comprobación, por lo que la regla se activa únicamente si el usuario no tiene el rol o la capacidad de administrador. - Línea 4:
show_admin_bar( false )ordena a WordPress que no renderice la barra de herramientas superior en el área pública (Front-End). - Línea 7:
add_action( 'after_setup_theme', ... )ejecuta nuestra función en el momento justo en que el tema termina de cargarse en memoria.
Snippet 3: Permitir la subida de archivos SVG de forma segura a la librería de medios
Los archivos de imagen vectorial (SVG) son livianos y garantizan que logotipos e íconos se vean nítidos en pantallas de alta resolución. Por defecto, WordPress bloquea la subida de este formato por razones de seguridad. Con este snippet habilitas la extensión en el gestor de medios.
Código PHP:
PHP
// Habilitar la subida de archivos SVG en la biblioteca de medios
function permitir_subida_svg( $mimes ) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter( 'upload_mimes', 'permitir_subida_svg' );
Explicación línea por línea:
- Línea 2: Definimos la función
permitir_subida_svg()recibiendo como argumento el arreglo$mimes, el cual contiene la lista de tipos de archivos autorizados por WordPress. - Línea 3: Inyectamos la extensión
svgdentro del arreglo asignándole el tipo MIME estándar'image/svg+xml'. - Línea 4: Retornamos la lista
$mimesmodificada para que el sistema proceda con la validación de carga. - Línea 6: Asociamos nuestra función al filtro
upload_mimesmediante la funciónadd_filter.
Cómo aplicar estos snippets en el plugin Code Snippets
- Ve a tu panel de WordPress y entra en Snippets > Añadir nuevo.
- Asigna un título representativo a tu snippet (por ejemplo: Desactivar XML-RPC).
- Pega el código PHP correspondiente en el recuadro del editor (asegúrate de que no contenga las etiquetas de apertura
<?php). - Selecciona la ubicación de ejecución deseada (por ejemplo, Ejecutar en todas partes).
- Haz clic en Guardar cambios y activar.
Conclusión
Integrar estas tres funciones básicas en tu sitio web mediante Code Snippets te permitirá cerrar brechas de seguridad comunes, ofrecer una navegación más limpia a tus usuarios registrados y flexibilizar el uso de formatos modernos como SVG, todo esto sin sobrecargar tu instalación de WordPress con plugins pesados.





