Respuesta breve: “Cannot redeclare function …” es un error fatal de PHP que significa que el mismo nombre de función se definió dos veces. PHP se niega a ejecutar, así que la web (y a menudo el administrador) cae. El registro señala directamente ambas ubicaciones.
Lee las dos ubicaciones
Activa WP_DEBUG_LOG y abre /wp-content/debug.log. El error nombra la función y el archivo/línea donde ocurrió la segunda declaración, y normalmente referencia la primera. Esas dos rutas son tu respuesta: solo tienes que eliminar o renombrar una.
Causas habituales
- Un snippet pegado dos veces: en
functions.phpy también en un plugin de snippets. - Copiar una función de un tutorial que ya existe en tu tema.
- Dos plugins que incluyen un ayudante con el mismo nombre genérico (por ejemplo una función de utilidad común sin prefijo).
- Un tema hijo redeclarando una función del padre sin una guarda
function_exists().
Corrígelo por SFTP
- Abre el archivo nombrado en la línea de la segunda declaración y elimina el duplicado, o envuélvelo en
if (! function_exists('nombre')) { ... }. - Si chocan dos plugins, desactiva uno renombrando su carpeta en
/wp-content/pluginsy decide si necesitas ambos. - Si un snippet se pegó dos veces, borra la copia duplicada.
Verifica
Recarga la web y el administrador, y confirma que la función que usaba esa función sigue operativa. Si el choque era entre dos plugins, comprueba si el que conservaste cubre lo que aportaba el otro, para no quedarte sin una función tras eliminar el conflicto.
CRITERIO DE INCIDENTE WP REPAIR
Cómo acotar el fallo sin adivinar
Cannot redeclare identifica dos definiciones con el mismo nombre. Las rutas del log muestran dónde se cargó cada copia, más seguro que añadir una guarda sin entender el duplicado.
Anota nombre de función y ambas rutas/líneas.
Determina si está duplicada, incluida por dos plugins o cargada dos veces.
Retira la copia no deseada o aplica namespace/prefijo al código propio.
Usa function_exists solo si se pretende realmente un override opcional.
Qué debe quedar verificado
- Solo carga una definición prevista.
- La función dependiente opera con el orden final.
- Caché, opcode cache y reinicio no hacen volver el fatal.
Fuentes técnicas oficiales
Continúa el diagnóstico
Esta guía explica el diagnóstico. Si la web está afectada ahora, la intervención debe preservar una vía de vuelta y verificar el recorrido real del negocio.
Ver el servicio de reparación urgente →