¿Cómo soluciono un mensaje de error en wp-blog-header.php?

25 mar 2011, 17:13:20
Vistas: 57.1K
Votos: 4

Recientemente actualicé un sitio y recibí el siguiente mensaje de error:

Fatal error: Call to undefined function wp() in /home/atlmp/public_html/wp-blog-header.php on line 14

Revisé el archivo y no parece haber ningún problema, así que no puedo entender qué está mal.

<?php
/**
 * Carga el entorno y la plantilla de WordPress.
 *
 * @package WordPress
 */

if ( !isset($wp_did_header) ) {

  $wp_did_header = true;

  require_once( dirname(__FILE__) . '/wp-load.php' );

  wp();

  require_once( ABSPATH . WPINC . '/template-loader.php' );

}

?>

Cualquier ayuda sería muy apreciada.

1
Comentarios

¿De dónde has obtenido esa llamada? Sé un poco más específico y por favor muéstranos la plantilla donde aparece. Parece que estás intentando acceder a alguna parte de WordPress (directamente) sin cargarlo.

kaiser kaiser
25 mar 2011 17:36:25
Todas las respuestas a la pregunta 5
2

Para cargar WordPress es suficiente con cargar "wp-load.php" como hiciste. No reconozco la función wp() y no la he encontrado en el código fuente. Como otras personas parecen tener el mismo problema en internet, supongo que tiene que ver con un plugin o posiblemente una instalación de WordPress desactualizada.

Desactiva todos tus plugins y comprueba si eso resuelve el problema.

Por curiosidad: ¿Para qué es este archivo?

25 mar 2011 18:04:48
Comentarios

Es un sitio web de directorio. Solo estaba actualizando WP desde el panel de control. He procedido a eliminar todo y he subido una nueva instalación por FTP. Todo parece estar funcionando bien ahora. Gracias por tu ayuda.

Marna Marna
27 mar 2011 07:01:46

¡Ah, sí, ya veo! Pensé que esto era parte del código de tu tema. Pero tienes razón, es parte del núcleo de WordPress. Me alegra que una "reinstalación" lo haya solucionado para ti.

marvinhagemeister marvinhagemeister
28 mar 2011 11:01:51
0

Estoy de acuerdo. Por lo general, en mi experiencia, es un plugin el que causa estos problemas. Puede ser un dolor de cabeza, pero desactivar todos tus plugins y luego activarlos uno por uno a menudo ayuda a identificar el problema.

25 mar 2011 19:10:15
1

Me enfrenté al mismo problema y aquí está la mejor solución Corregir el error wp-blog-header.php

26 jul 2017 20:15:14
Comentarios

Actualiza a la última versión de WordPress.

Steve Kinzey Steve Kinzey
16 oct 2023 07:15:20
0

Me enfrenté a este error al mover los archivos de mi sitio de HostGator a otro host, lo que hice fue comprimir los archivos en ZIP y transferirlos por FTP al nuevo host. Algo se arruinó al comprimir los archivos, cuando los comprimí con tar.gz todo funcionó correctamente. Eso fue lo que me ayudó después de varias horas,

probablemente algo relacionado con la codificación de los archivos.

7 nov 2016 14:49:19
2
-1

Hay un problema con WordPress. Por favor, actualiza tu archivo wp_load.php con este código.

<!-- inicio -->

<?php
/**
 * Archivo de arranque para definir la constante ABSPATH
 * y cargar el archivo wp-config.php. El archivo wp-config.php
 * luego cargará el archivo wp-settings.php, que
 * configurará el entorno de WordPress.
 *
 * Si no se encuentra el archivo wp-config.php, se mostrará
 * un error solicitando al visitante que configure el
 * archivo wp-config.php.
 *
 * También buscará wp-config.php en el directorio padre de WordPress
 * para permitir que el directorio de WordPress permanezca
 * sin cambios.
 *
 * @package WordPress
 */

/** Define ABSPATH como el directorio de este archivo */
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}

error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );

/*
 * Si wp-config.php existe en la raíz de WordPress, o si existe en la raíz y wp-settings.php
 * no existe, carga wp-config.php. La verificación secundaria de wp-settings.php tiene el beneficio adicional
 * de evitar casos donde el directorio actual es una instalación anidada, ej. / es WordPress(a)
 * y /blog/ es WordPress(b).
 *
 * Si ninguna de las condiciones es verdadera, inicia el proceso de configuración.
 */
if ( file_exists( ABSPATH . 'wp-config.php' ) ) {

    /** El archivo de configuración reside en ABSPATH */
    require_once( ABSPATH . 'wp-config.php' );

} elseif ( @file_exists( dirname( ABSPATH ) . '/wp-config.php' ) && ! @file_exists( dirname( ABSPATH ) . '/wp-settings.php' ) ) {

    /** El archivo de configuración reside un nivel arriba de ABSPATH pero no es parte de otra instalación */
    require_once( dirname( ABSPATH ) . '/wp-config.php' );

} else {

    // No existe un archivo de configuración

    define( 'WPINC', 'wp-includes' );
    require_once( ABSPATH . WPINC . '/load.php' );

    // Estandariza las variables $_SERVER en todas las configuraciones.
    wp_fix_server_vars();

    require_once( ABSPATH . WPINC . '/functions.php' );

    $path = wp_guess_url() . '/wp-admin/setup-config.php';

    /*
     * Redireccionaremos a setup-config.php. Si bien esto no debería resultar
     * en un bucle infinito, sería tonto asumirlo, ¿no crees? Si
     * estamos dando vueltas en círculos, nuestro último recurso es "¿Necesitas más ayuda?"
     */
    if ( false === strpos( $_SERVER['REQUEST_URI'], 'setup-config' ) ) {
        header( 'Location: ' . $path );
        exit;
    }

    define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
    require_once( ABSPATH . WPINC . '/version.php' );

    wp_check_php_mysql_versions();
    wp_load_translations_early();

    // Finaliza con un mensaje de error
    $die = sprintf(
        /* translators: %s: wp-config.php */
        __( "Parece que no hay un archivo %s. Lo necesitamos para poder comenzar." ),
        '<code>wp-config.php</code>'
    ) . '</p>';
    $die .= '<p>' . sprintf(
        /* translators: %s: URL de documentación. */
        __( "¿Necesitas más ayuda? <a href='%s'>La tenemos</a>." ),
        __( 'https://wordpress.org/support/article/editing-wp-config-php/' )
    ) . '</p>';
    $die .= '<p>' . sprintf(
        /* translators: %s: wp-config.php */
        __( "Puedes crear un archivo %s mediante una interfaz web, pero esto no funciona en todas las configuraciones de servidor. La forma más segura es crearlo manualmente." ),
        '<code>wp-config.php</code>'
    ) . '</p>';
    $die .= '<p><a href="' . $path . '" class="button button-large">' . __( 'Crear un archivo de configuración' ) . '</a>';

    wp_die( $die, __( 'WordPress &rsaquo; Error' ) );
}

<!-- fin -->

Y por favor cambia los permisos del archivo de 644 a 444.

20 jun 2020 18:22:21
Comentarios

Por favor, [edita] tu respuesta y añade una explicación: ¿por qué eso podría resolver el problema? Parece una muy mala idea editar el núcleo sin ninguna razón.

fuxia fuxia
20 jun 2020 19:23:20

De acuerdo @fuxia.

@sumer-signh-harawat -- Si fueras tan amable de explicarle a @marna (y al resto de nosotros que estamos leyendo esto) por qué los cambios en wp-load.php solucionarían el problema. Además, es probable que estos cambios se sobrescriban durante una actualización de WordPress, por lo que debería mencionarse que esta modificación debe verificarse para asegurarse de que permanezca después de cada actualización (y volver a implementarse cada vez que se cambie).

Mort 1305 Mort 1305
21 jun 2020 08:30:16