Come risolvere un messaggio di errore wp-blog-header.php?

25 mar 2011, 17:13:20
Visualizzazioni: 57.1K
Voti: 4

Ho recentemente aggiornato un sito e ho ricevuto il seguente messaggio di errore:

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

Ho controllato il file e non sembrano esserci problemi, quindi non riesco a capire cosa c'è che non va?

<?php
/**
 * Carica l'ambiente WordPress e il template.
 *
 * @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' );

}

?>

Qualsiasi aiuto sarebbe molto apprezzato.

1
Commenti

Dove hai trovato quella chiamata? Sii un po' più specifico e per favore mostarci il template in cui appare. Sembra che tu stia cercando di accedere a una parte di wp (direttamente) senza caricarlo.

kaiser kaiser
25 mar 2011 17:36:25
Tutte le risposte alla domanda 5
2

Per caricare WordPress è sufficiente caricare "wp-load.php" come hai fatto. Non riconosco la funzione wp() e non l'ho trovata nel codice sorgente. Dal momento che altre persone sembrano avere lo stesso problema su internet, immagino che possa essere legato a un plugin o a un'installazione di WordPress obsoleta.

Disabilita tutti i tuoi plugin e verifica se questo risolve il problema.

Per curiosità: a cosa serve questo file?

25 mar 2011 18:04:48
Commenti

È un sito web directory. Stavo semplicemente aggiornando WP dal pannello di controllo? Ho proceduto a eliminare tutto e ho caricato tramite FTP una nuova installazione. Ora sembra tutto funzionare correttamente. Grazie per il tuo aiuto.

Marna Marna
27 mar 2011 07:01:46

Ah sì, capisco! Pensavo che facesse parte del codice del tuo tema. Ma hai ragione, fa parte del core di WordPress. Sono contento che una "reinstallazione" abbia risolto il problema per te.

marvinhagemeister marvinhagemeister
28 mar 2011 11:01:51
0

Sono d'accordo. Di solito nella mia esperienza è un plugin a causare questi problemi. Può essere un mal di testa, ma disabilitare tutti i plugin e poi riattivarli uno alla volta spesso aiuta a identificare il problema.

25 mar 2011 19:10:15
1

Anch'io mi sono trovato di fronte allo stesso problema e questa è la soluzione migliore Correggi l'errore wp-blog-header.php

26 lug 2017 20:15:14
Commenti

Aggiorna all'ultima versione di WordPress.

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

Mi sono imbattuto in questo errore durante il trasferimento dei file del mio sito da HostGator a un altro hosting. Quello che ho fatto è stato comprimere i file in formato ZIP e trasferirli via FTP sul nuovo host. Qualcosa è andato storto durante la compressione dei file, ma quando li ho compressi con tar.gz tutto ha funzionato correttamente. Questa è stata la soluzione che mi ha aiutato dopo diverse ore di tentativi,

probabilmente a causa di qualche problema con la codifica dei file.

7 nov 2016 14:49:19
2
-1

C'è un problema con WordPress. Per favore, aggiorna il tuo file wp_load.php utilizzando questo codice.

<!-- inizio -->

<?php
/**
 * File di bootstrap per impostare la costante ABSPATH
 * e caricare il file wp-config.php. Il file wp-config.php
 * caricherà poi il file wp-settings.php, che
 * configurerà l'ambiente WordPress.
 *
 * Se il file wp-config.php non viene trovato, verrà visualizzato
 * un errore che chiede al visitatore di configurare
 * il file wp-config.php.
 *
 * Cercherà anche wp-config.php nella directory genitore di WordPress
 * per consentire di mantenere la directory WordPress intatta.
 *
 * @package WordPress
 */

/** Definisce ABSPATH come la directory di questo file */
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 );

/*
 * Se wp-config.php esiste nella root di WordPress, o se esiste nella root e wp-settings.php
 * non esiste, carica wp-config.php. Il controllo secondario per wp-settings.php ha il vantaggio aggiuntivo
 * di evitare casi in cui la directory corrente è un'installazione nidificata, es. / è WordPress(a)
 * e /blog/ è WordPress(b).
 *
 * Se nessuna delle condizioni è vera, inizia il caricamento del processo di configurazione.
 */
if ( file_exists( ABSPATH . 'wp-config.php' ) ) {

    /** Il file di configurazione risiede in ABSPATH */
    require_once( ABSPATH . 'wp-config.php' );

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

    /** Il file di configurazione risiede un livello sopra ABSPATH ma non fa parte di un'altra installazione */
    require_once( dirname( ABSPATH ) . '/wp-config.php' );

} else {

    // Un file di configurazione non esiste

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

    // Standardizza le variabili $_SERVER tra le diverse configurazioni.
    wp_fix_server_vars();

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

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

    /*
     * Reindirizzeremo a setup-config.php. Anche se questo non dovrebbe risultare
     * in un loop infinito, sarebbe sciocco presumere il contrario, non credi? Se
     * stiamo girando in tondo, il nostro ultimo tentativo è "Hai bisogno di più aiuto?"
     */
    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();

    // Termina con un messaggio di errore
    $die = sprintf(
        /* translators: %s: wp-config.php */
        __( "Sembra che non ci sia un file %s. Ne ho bisogno prima di poter iniziare." ),
        '<code>wp-config.php</code>'
    ) . '</p>';
    $die .= '<p>' . sprintf(
        /* translators: %s: URL documentazione. */
        __( "Hai bisogno di più aiuto? <a href='%s'>Eccolo qui</a>." ),
        __( 'https://wordpress.org/support/article/editing-wp-config-php/' )
    ) . '</p>';
    $die .= '<p>' . sprintf(
        /* translators: %s: wp-config.php */
        __( "Puoi creare un file %s tramite un'interfaccia web, ma questo non funziona per tutte le configurazioni del server. Il modo più sicuro è creare manualmente il file." ),
        '<code>wp-config.php</code>'
    ) . '</p>';
    $die .= '<p><a href="' . $path . '" class="button button-large">' . __( 'Crea un file di configurazione' ) . '</a>';

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

<!-- fine -->

e per favore cambia i permessi del file da 644 a 444.

20 giu 2020 18:22:21
Commenti

Per favore [modifica] la tua risposta e aggiungi una spiegazione: perché questa soluzione potrebbe risolvere il problema? Sembra proprio una pessima idea modificare il core senza alcuna ragione.

fuxia fuxia
20 giu 2020 19:23:20

Concordo @fuxia.

@sumer-signh-harawat -- Se potessi essere così gentile da spiegare a @marna (e a tutti noi che leggiamo) perché le modifiche a wp-load.php risolverebbero il problema. Inoltre, è probabile che queste modifiche vengano sovrascritte durante un aggiornamento di WordPress, quindi dovrebbe essere notato che questa modifica deve essere verificata per assicurarsi che rimanga dopo ogni aggiornamento (e reimplementata ogni volta che viene cambiata).

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