Hola, llevo varios meses con un problema que provoca que todas las URLs, excepto la homepage, den error 500. No va correlacionado con ningún cambio en el backend, ocurre de forma aleatoria aunque es posible que ocurra cuando algún cliente guarde progreso o realice actividades en la web. Lo curioso es que se soluciona inmediatamente yendo a ajustes>enlaces permanentes>guardar (sin tocar nada).
Hemos comprobado el error y es el siguiente:
PHP Fatal error: Uncaught Error: Class "WP_Widget" not found in Contenido solo visible a usuarios registrados
Hola Neko,
Puede tratarse de un tema de memoria, has probado aumentando los parámetros de PHP al máximo?
https://guias.webempresa.com/preguntas-frecuentes/cambiar-la-version-php/
Saludos!
@bruno-vichetti Hola! Sí, puse la memoria en 1024M a raíz de esto y nada. El resto de parámetros no los toqué.
También limpié la web de todos los plugins innecesarios. Ahora solo queda lo que está en uso.
Hola Neko,
Es muy raro este error, es posible que algo esté dañado directamente en el archivo de WordPress, algo que puedes probar es descargar una nueva versión de WordPress, luego tomar la carpeta wp-includes y reemplazar está en tu sitio web por la que se encuentra en la versión reciente de WordPress, los pasos serían:
Antes de hacer cualquier cambio primero revisa si tienes añadido en tu archivo wp-config.php algún código que esté generando este error, conversando con mis compañeros de hostingn indican se muestra un código como:
/** Sets up WordPress vars and included files. */
@include_once('/var/lib/sec/wp-settings-pre.php'); // Added by SiteGround WordPress management system
require_once ABSPATH . 'wp-settings.php';
@include_once('/var/lib/sec/wp-settings.php'); // Added by SiteGround WordPress management system
Si es un traslado y tienes este código puedes eliminarlo o comentarlo de la siguiente forma:
/** Sets up WordPress vars and included files.
@include_once('/var/lib/sec/wp-settings-pre.php'); // Added by SiteGround WordPress management system
require_once ABSPATH . 'wp-settings.php';
@include_once('/var/lib/sec/wp-settings.php'); // Added by SiteGround WordPress management system
*/
Ten en cuenta que antes de probar hacer esto, siempre mantener una copia de tu sitio web y los archivos, de forma que si se genera algún error puedes restaurarla.
Puedes verificar esto y comprobar como va todo
Un Saludo
@karen Gracias! Esta web se trasladó con super migrator. Borré ese código de SG y por ahora ningún problema. Lo que me gustaría que me confirmes los pasos para sustituir el wp_includes:
Me confunde el paso 4. Entiendo que simplemente subo el nuevo wp_includes y le cambio el nombre a la anterior carpeta. Pero lo de extraer? Si la carpeta wp_includes no va en .zip, 4.1. que debo extraer exactamente? 4.2. No borro nada del wp_includes original?
Hay alguna ventaja de no borrar el archivo original?
Hola Neko.
Si ahora funciona todo bien, no hace falta que sustituyas la carpeta wp_includes déjalo todo como esta.
El código que te comenta mi compañera podría ser el causante del error 500 ya que la ruta que tenia el codigo " /var/lib/sec/wp-settings-pre.php " es distinta y además el archivo wp-settings-pre.php no existe en tu cuenta de hosting ya que es un archivo personalizado, supongo que para el plugin de SG.
Un Saludo
@pepesoler gracias, pero no comprobé lo suficiente. He tenido que volver a poner ese codigo wpconfig.
/** Sets up WordPress vars and included files. */
@include_once('/var/lib/sec/wp-settings-pre.php'); // Added by SiteGround WordPress management system
require_once ABSPATH . 'wp-settings.php';
@include_once('/var/lib/sec/wp-settings.php'); // Added by SiteGround WordPress management system
Lo curioso es que cuando se borra, solo funcionan la home y las 2 paginas de categoria de cursos (las del menu). El resto roto con error 500.
Al poner el codigo en formato comentario como corrigió Karen, funcionaba uno de los cursos.
Hola Neko.
No, tienes que borrar todo el código, eliminarlo por completo, no lo dejes solo comentado.
Si ves que despues de eso hay algunas paginas que no cargan.
.- Accede a tu cuneta de WEPanel -> Administrador de archivos
.- Accede a la carpeta donde tienes la instalación y renombra el archivo .htaccess por ejemplo .htaccess_old
.- Vacía todas las Caches que tengas
.- Accede Ajustes -> Enlaces permanentes y sin realizar ningún cambio pulse en el botón de guardar.
Revisa si se soluciona, si sigues con el problema, no añadas de nuevo el codigo y lo indicas para que lo revisemos.
Un saludo
@pepesoler he borrado el fragmento de codigo de SG, vaciado magic caché y he purgado toda la caché desde cloudflare. Pero ahora no puedo ni acceder al backend porque tb da error 500.
También, ha aparecido una nueva instalación en el panel de mis sitios WP, parece que la instalacion corresponde al public_html del sitio que estamos tratando de corregir.
Hola Neko,
Ya se visualiza tu sitio, había un error que vieron nuestros compañeros de hosting y que han solucionado, hemos navegado por el sitio y se visualiza bien incluso la parte de copra de cursos, de igual forma verifícalo y nos comentas.
Un saludo 🖐️
@argenis genial, gracias. Parece que todo bien. Podrían decirme cual era el error?
Respecto a esa instalación WP que se ha generado con el public html (pantallazo adjunto en mi mensaje anterior), no puedo borrarlo.. podeis comprobar?
puedo borrar el wp_includes y htaccess antiguos?
Hola Neko,
Lo mejor es que trabajes de momento así antes de borrar algún archivo que pueda causar de nuevo que el sitio se caiga, trabaja unos días y deja que el sistema se reconozca para que aparezca o desaparezca de tu panel, con respecto al archivo era un problema con la escritura del mismo algún código no estaba bien cerrado y causaba el error entonces lo que hicieron fue generarlo de nuevo para que se creara con el código bien escrito.
Un saludo 🖐️
Hola Neko,
Encantados de poder ayudar, si tienes alguna otra duda quedamos atentos, recuerda que puedes crear un nuevo tema y con gusto lo vemos.
Un saludo 🖐️