La actualización de la versión de PHP resulta en advertencia "Use of undefined constant WP_CONTENT_DIR"
En mi hosting compartido de HostGator con opción CPanel para configurar PHP por dominio, si activo PHP 7.3 (u otras versiones 7.x) para mi blog existente, obtengo una página de error:
Warning: Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR' (esto lanzará un Error en una futura versión de PHP) en /my_site/public_html/wp-includes/load.php en la línea 141 Tu instalación de PHP parece no tener la extensión MySQL que es requerida por WordPress
Si busco esto en Google, todos los consejos son sobre cómo instalar mysqld
, pero seguramente ya está instalado ya que hacer una instalación nueva de WordPress en un subdominio separado funciona perfectamente bajo PHP 7.3, así que debo estar pasando por alto algo en el archivo wp-config.php
de mi sitio más antiguo. Sin embargo, al comparar las versiones que funcionan y las que fallan, no puedo ver una diferencia obvia.
Esto es lo que funcionó para mí: Mi sitio WordPress en Hostgator mostraba el mismo error hasta que comenté el archivo .htaccess
de nivel superior. Así:
Mi sitio web es un subdominio, por lo que tenía su propio .htaccess
, y ahí es donde se especificaba la versión de PHP (cPanel lo hizo automáticamente). No tuve que editar wp-config.php
ni ningún otro archivo.
Fue en los comentarios de esta publicación donde encontré la solución:
https://wordpress.org/support/topic/php-7-3-errors/#post-12720824

Normalmente, la entrada WP_CONTENT_DIR está definida en el archivo https://developer.wordpress.org/reference/files/wp-includes/default-constants.php/ (que se carga después de wp-settings.php):
if ( ! defined( 'WP_CONTENT_DIR' ) ) {
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
// Sin barra diagonal al final, solo rutas completas - WP_CONTENT_URL se define más adelante.
}
Esto establecerá WP_CONTENT_DIR
por defecto en la carpeta 'wp-content' de tu sitio, a menos que tú (o alguien/algo) lo haya definido previamente en el wp-config.php
con un comando como este:
define('WP_CONTENT_DIR', '/ruta/hacia/wordpress/wp-content');
En una instalación 'limpia'/por defecto, no debería existir ese DEFINE en el archivo wp-settings
. Tal vez tengas un plugin o función que haya movido la carpeta de contenido a una nueva ubicación como método de 'seguridad' (aunque es debatible si esto es útil -'seguridad por oscuridad' no funciona tan bien) y haya modificado el valor de la variable WP_CONTENT_DIR
.
Así que revisa tu archivo wp-settings.php
en busca de esa declaración DEFINE. Elimínala (a menos que realmente quieras tus archivos wp-content
en otro lugar), o busca algún plugin en tu sitio que esté haciendo eso.

En mi caso, había dos archivos .htaccess ejecutándose simultáneamente (uno en "public_html" y otro por encima del directorio raíz), lo cual estaba causando el conflicto. Eliminé el archivo y funcionó. Así pude solucionar mi problema con la actualización de WordPress.
Aquí está la publicación original de esta solución: https://iiiji.com/fix-php-upgrade-error-whm-cpanel/

Acabo de actualizar la versión de PHP de 7.0 a 7.4 desde Multi Php Editor para mi sitio web y encontré el error "Use of undefined constant WP_CONTENT_DIR – assumed 'WP_CONTENT_DIR'"
Después de eso, volví a degradar a la versión 7.0 y obtuve este error:
Parece que tu instalación de PHP no tiene la extensión MySQL que WordPress requiere.
Nuevamente actualicé a PHP 7.4
¿Cómo solucioné el error? Simplemente eliminé el archivo .htaccess y actualicé la página. Todo funcionó correctamente después.
Gracias
