Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Errores y diagnóstico

Error fatal «Cannot redeclare function» en WordPress: cómo resolverlo

Este error fatal significa que el mismo nombre de función se definió dos veces. Suele ser un snippet duplicado o dos plugins en conflicto. Cómo rastrearlo.

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.php y 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

  1. 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')) { ... }.
  2. Si chocan dos plugins, desactiva uno renombrando su carpeta en /wp-content/plugins y decide si necesitas ambos.
  3. 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.

WP RepairModelo de diagnóstico
1Petición2PHP / servidor3WordPress4Componente
Sigue la cadena hasta encontrar el primer punto que deja de comportarse como debería.
01

Anota nombre de función y ambas rutas/líneas.

02

Determina si está duplicada, incluida por dos plugins o cargada dos veces.

03

Retira la copia no deseada o aplica namespace/prefijo al código propio.

04

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.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia