🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Class not found' en PrestaShop con WordPress

Actualizado el 3 de noviembre de 2025

¿Qué significa el error "Class not found" en PrestaShop?

Cuando trabajas con PrestaShop y WordPress en el mismo servidor, es bastante común encontrarse con el temido mensaje de error "Class not found". Este error puede aparecer en diferentes partes de tu tienda: en el panel de administración, en el front-office (la parte visible de tu tienda) o incluso al intentar ejecutar un módulo específico.

En términos sencillos, este error significa que PrestaShop está intentando usar una clase de PHP que no puede encontrar. Una clase es como un "molde" que define cómo funciona un objeto, y si el archivo que la contiene no se carga correctamente, PHP no sabe cómo crear ese objeto y lanza el error.

Lo curioso es que este problema se vuelve especialmente frecuente cuando tienes WordPress y PrestaShop instalados en el mismo dominio o servidor, porque ambos sistemas comparten recursos y pueden interferir entre sí.


¿Por qué ocurre el error "class not found prestashop" cuando hay WordPress de por medio?

Antes de lanzarnos a solucionar el problema, es importante entender qué lo causa. Cuando hablamos de un prestashop wordpress conflicto, nos referimos a que ambos CMS (sistemas de gestión de contenido) están compitiendo por los mismos recursos o modificando archivos que el otro necesita.

Las causas más habituales son:

  • Conflictos de autoloading: Tanto PrestaShop como WordPress usan sistemas de carga automática de clases. Si las rutas se mezclan, PrestaShop busca sus clases en el lugar equivocado.

  • Archivos .htaccess sobrescritos: WordPress tiende a reescribir el archivo .htaccess con sus propias reglas, lo que puede romper la estructura de PrestaShop.

  • Versiones de PHP incompatibles: Si uno de los dos sistemas requiere una versión más reciente de PHP y el servidor no la ofrece correctamente, las clases no se cargan.

  • Caché corrupta: PrestaShop guarda clases en su caché. Si esta caché se daña (por ejemplo, tras una actualización de WordPress), el sistema no encuentra las clases.

  • Permisos de archivos incorrectos: Si los archivos tienen permisos demasiado restrictivos, PHP no puede leerlos y las clases no se cargan.


Paso 1: Activa el modo debug de PrestaShop

Lo primero que necesitas hacer es ver exactamente qué clase no se encuentra y dónde. Para ello, activa el modo depuración de PrestaShop.

Cómo activar el modo debug:

  1. Accede a tu servidor mediante FTP o el administrador de archivos de tu hosting.

  2. Busca la carpeta raíz donde está instalado PrestaShop (normalmente es public_html o www).

  3. Abre el archivo config/defines.inc.php.

  4. Busca la línea que dice define('_PS_MODE_DEV_', false);

  5. Cámbiala por define('_PS_MODE_DEV_', true);

  6. Guarda el archivo y recarga tu tienda.

Ahora verás en pantalla el error completo, con la ruta del archivo que intenta cargar la clase y el nombre exacto de la clase que falta. Anota toda esta información, te será muy útil.

[INFO] Si no encuentras el archivo defines.inc.php, revisa que estás en la carpeta correcta. Algunos hosting lo ocultan. Usa el administrador de archivos del panel de control.


Paso 2: Limpia la caché de PrestaShop

La caché es una de las causas más comunes del error prestashop clase no encontrada. PrestaShop guarda un índice de todas sus clases en archivos de caché, y si estos se corrompen, el sistema no encuentra nada.

Limpieza manual de caché:

  1. Ve a la carpeta var/cache (en PrestaShop 1.7) o cache (en versiones anteriores).

  2. Elimina todo el contenido de esa carpeta, pero no borres la carpeta en sí.

  3. Si tienes acceso a la base de datos, también puedes vaciar la tabla ps_cache.

  4. Recarga tu tienda.

Si no tienes acceso por FTP, puedes hacerlo desde el panel de administración:

  • Ve a Parámetros avanzados > Rendimiento.
  • Pulsa el botón Vaciar la caché.
  • Si el error te impide acceder al panel, usa el método manual.

[TIP] Después de limpiar la caché, espera unos segundos y vuelve a intentar cargar la página. En muchos casos, el error desaparece por completo.


Paso 3: Revisa el archivo .htaccess

Cuando hablamos de un prestashop wordpress conflicto, el archivo .htaccess suele ser el principal sospechoso. WordPress tiene la mala costumbre de sobrescribirlo con sus propias reglas, lo que rompe la reescritura de URLs de PrestaShop.

Cómo solucionarlo:

  1. Accede a la raíz de tu PrestaShop y busca el archivo .htaccess.

  2. Haz una copia de seguridad antes de tocarlo.

  3. Si usas PrestaShop 1.7 o superior, puedes regenerarlo desde el panel: Parámetros avanzados > URL y SEO > Guardar (esto lo regenera automáticamente).

  4. Si no puedes acceder al panel, crea un archivo .htaccess nuevo con el siguiente contenido básico:

# ---- PrestaShop ----
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^api/?(.*)$ webservice/$1 [L]
    RewriteRule ^.*$ - [NC,L]
</IfModule>
  1. Guarda y comprueba si el error persiste.

[WARNING] Si tienes WordPress en una subcarpeta y PrestaShop en la raíz, deberás ajustar las reglas. No copies reglas de internet sin entender qué hacen, podrías romper tu tienda.


Paso 4: Verifica la versión de PHP

Tanto PrestaShop como WordPress tienen requisitos mínimos de PHP. Si tu servidor cambió la versión de PHP automáticamente (algo común tras actualizaciones), puede que PrestaShop no encuentre sus clases porque usa funciones que ya no existen.

Qué hacer:

  1. Entra en el panel de control de tu hosting.

  2. Busca la sección de Gestión de PHP o Versiones de PHP.

  3. Comprueba que la versión es compatible con tu PrestaShop:

    • PrestaShop 1.7: PHP 7.1 o superior (recomendado 7.4 u 8.0).
    • PrestaShop 1.6: PHP 5.6 a 7.2.
  4. Si tienes WordPress en el mismo dominio, asegúrate de que la versión elegida funciona para ambos.

  5. Si cambiaste la versión, limpia la caché de nuevo (paso 2).

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), puedes cambiar la versión de PHP desde el panel. Accede a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106), ve a la sección de dominios y busca la opción de PHP.


Paso 5: Comprueba los permisos de archivos

Los permisos incorrectos pueden impedir que PHP lea los archivos de clases. Esto es especialmente común después de migraciones o restauraciones de copias de seguridad.

Permisos recomendados:

  • Carpetas: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)
  • Archivos de configuración (como config/settings.inc.php): 444 (solo lectura)

Cómo cambiarlos:

  1. Conecta por FTP con un cliente como FileZilla.

  2. Selecciona todos los archivos de la raíz.

  3. Clic derecho > Permisos de archivo.

  4. Introduce 644 para archivos y 755 para carpetas.

  5. Aplica los cambios de forma recursiva (a todas las subcarpetas).

[WARNING] No pongas permisos 777 (lectura/escritura/ejecución para todos). Aunque solucione temporalmente el error, deja tu tienda vulnerable a ataques.


Paso 6: Reinstala los archivos de PrestaShop

Si los pasos anteriores no funcionan, puede que algún archivo de PrestaShop esté dañado o incompleto. Esto ocurre cuando WordPress sobrescribe archivos durante una actualización.

Solución:

  1. Descarga la misma versión de PrestaShop que tienes instalada desde la web oficial.

  2. Descomprime el archivo en tu ordenador.

  3. Sube por FTP solo la carpeta classes y la carpeta override/classes (si existe) a tu servidor, reemplazando los archivos existentes.

  4. Haz lo mismo con la carpeta src/Core (en PrestaShop 1.7).

  5. Limpia la caché de nuevo.

[TIP] Antes de reemplazar, haz una copia de seguridad de las carpetas que vas a sobrescribir. Así, si algo sale mal, puedes revertir los cambios.


Paso 7: Aísla el conflicto entre PrestaShop y WordPress

Si has llegado hasta aquí y el error persiste, es probable que el prestashop wordpress conflicto sea más profundo. Puede que ambos sistemas estén compartiendo archivos de configuración o bibliotecas.

Estrategias para aislar el problema:

  1. Mueve WordPress a una subcarpeta: Si está en la raíz, muévelo a /blog o /wp. Esto suele resolver muchos conflictos.

  2. Desactiva plugins de WordPress: Algunos plugins modifican el comportamiento de PHP globalmente. Desactívalos todos temporalmente.

  3. Revisa el archivo wp-config.php: Asegúrate de que no está definiendo constantes que interfieran con PrestaShop.

  4. Usa dominios separados: Si es posible, instala cada CMS en un dominio distinto (por ejemplo, tienda.com y blog.com).

  5. Comprueba las rutas absolutas: En PrestaShop, ve a Parámetros avanzados > Información y verifica que las rutas de los archivos son correctas.


Solución avanzada: Modifica el autoloader

Si nada funciona, puedes intentar modificar el autoloader de PrestaShop para que busque las clases en el lugar correcto.

  1. Abre el archivo config/autoload.php.

  2. Añade al principio:

spl_autoload_register(function ($class) {
    $prefixes = array(
        'PrestaShop\\' => _PS_ROOT_DIR_ . '/src/',
        'PrestaShopBundle\\' => _PS_ROOT_DIR_ . '/src/PrestaShopBundle/',
    );
    foreach ($prefixes as $prefix => $base_dir) {
        if (strncmp($prefix, $class, strlen($prefix)) === 0) {
            $relative_class = substr($class, strlen($prefix));
            $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
            if (file_exists($file)) {
                require $file;
            }
        }
    }
});
  1. Guarda y prueba.

[WARNING] Esta solución es avanzada. Si no te sientes cómodo editando código, contacta con tu proveedor de hosting o con un desarrollador.


Preguntas frecuentes sobre este error

¿Puedo tener PrestaShop y WordPress en el mismo hosting sin problemas?

Sí, pero es recomendable que estén en carpetas separadas y, si es posible, en dominios distintos. Si deben compartir dominio, usa subcarpetas claramente diferenciadas.

¿El error "class not found prestashop" es peligroso para mi tienda?

No es peligroso en sí mismo, pero impide que tu tienda funcione correctamente. Además, si lo ignoras, podrías perder ventas y clientes.

¿Por qué aparece después de actualizar WordPress?

WordPress a veces modifica archivos compartidos o cambia la configuración de PHP. Por eso es recomendable hacer copias de seguridad antes de cualquier actualización.

¿Debo contactar con soporte técnico?

Si has probado todos los pasos y el error persiste, sí. Un técnico especializado en solucionar prestashop error class podrá diagnosticar el problema en profundidad.

¿Cuánto tiempo se tarda en solucionar?

Depende de la causa. Si es un problema de caché, en 5 minutos está resuelto. Si es un conflicto más profundo, puede llevarte una tarde.


Resumen final

El error "Class not found" en PrestaShop cuando hay WordPress de por medio es frustrante, pero tiene solución. Recuerda el orden de actuación:

  1. Activa el modo debug para ver el error completo.
  2. Limpia la caché de PrestaShop.
  3. Revisa el .htaccess y regenéralo si es necesario.
  4. Comprueba la versión de PHP y ajústala si hace falta.
  5. Verifica permisos de archivos y carpetas.
  6. Reinstala los archivos de clases de PrestaShop.
  7. Aísla el conflicto entre ambos CMS.

Y si nada funciona, no dudes en buscar ayuda profesional. Una tienda caída es dinero perdido, así que actúa rápido.

[TIP] Mantén siempre una copia de seguridad reciente de tu tienda. Así, ante cualquier error grave, puedes restaurarla en minutos sin perder datos.

Esperamos que esta guía te haya sido útil. Si tienes más dudas, déjalas en los comentarios y te ayudaremos a resolverlas.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel