• Buongiorno,

    scrivo per un problema al mio sito personale gianlucazaffiro.it, non sono un esperto.

    Mi sono accorto di recente di alcuni malfunzionamenti e di non poter accedere al pannello di admin del mio sito wordpress. Il sito è ospitato su tophost da circa 4 anni senza aver mai dato problemi. Il sito funziona parzialmente, le pagine sono raggiungibili, ma la funzione per il contatto via form non funziona. Se provo a digitare gianlucazaffiro.it/wp-admin o a inviare un messaggio tramite il form viene riportato l’errore che segue:
    Fatal error: Uncaught Error: Call to undefined function wp_get_wp_version() in /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-includes/blocks/index.php:30 Stack trace: #0 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-includes/class-wp-hook.php(324): register_core_block_style_handles() #1 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #2 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-includes/plugin.php(517): WP_Hook->do_action() #3 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-settings.php(700): do_action() #4 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-config.php(94): require_once(‘/home/mhd-01/ww…’) #5 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-load.php(50): require_once(‘/home/mhd-01/ww…’) #6 /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-blog-header.php(13): require_once(‘/home/mhd-01/ww…’) #7 /home/mhd-01/www.gianlucazaffiro.it/htdocs/index.php(17): require(‘/home/mhd-01/ww…’) #8 {main} thrown in /home/mhd-01/www.gianlucazaffiro.it/htdocs/wp-includes/blocks/index.php on line 30

    Purtroppo non ricordo di aver fatto un back-up (dovrei verificare se avevo installato un plugin per questa funzionalità) ma non saprei come fare per verificare.

    Vi ringrazio per i suggerimenti che vorrete darmi.

    Gianluca

    La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

Stai visualizzando 4 risposte - dal 1 al 4 (di 4 totali)
  • La funzione ‘ wp_get_wp_version(); ‘ non è presente nel tuo file functions.php (Call to undefined function). E’ una funzione introdotta di recente ma in che versione?

    Questo è un caso in cui ChatGPT può essere utile, infatti risponde: ” The wp_get_wp_version() function was introduced in WordPress version 6.7.0.

    This function returns the current WordPress version, providing an unmodified value of the $wp_version global variable.
    It was added to the wp-includes/functions.php file to ensure that plugins can retrieve the unaltered WordPress version,
    especially in cases where plugins might modify the global $wp_version variable for security purposes.
    This practice can cause errors in WordPress, so the ability to get an unmodified version is needed. “

    La cosa più probabile, penso, è che il tuo ultimo aggiornamento a WP sia stato fatto male, uno o più files sono rovinati.

    Se il file rovinato è uno solo credo che puoi provare a sostituire la tua copia di wp-includes/functions.php con una nuova, che recuperi facendo il download di WP e scompattandolo. La sostituzione si fa facilmente via ftp.

    Se non funziona allora i files rovinati possono essere parecchi e c’è molto da lavorare sul tuo sito per rimetterlo a posto.

    Bye!

    Chi ha creato la discussione gzaffiro

    (@gzaffiro)

    Alessandro, grazie per il suggerimento. Sto cominciando a orientarmi un po’ è ho visto che l’ultima versione da me installata, aprendo il file version.php che trovo navigando con il file manager dell’host che utilizzo, è la 6.6.2. Quindi non sono ancora passato alla 6.7.x. Ho provato a sostituire il file functions.php con quello della 6.6.2 ma l’errore da me descritto permane. Presumo quindi di dover seguire la procedura di sostituzione di tutti i file del wordpress con quelli della versione installata la 6.6.2 e non con l’ultima disponibile che mi risulta essere la 6.7.2, corretto? Se avete altri suggerimenti sono benvenuti.

    • Questa risposta è stata modificata 4 mesi, 2 settimane fa da gzaffiro.

    Veramente pensavo che avresti sostituito functions.php con quello della versione 6.7.x in modo da avere la funzione assente.

    Probabilmente non avrebbe funzionato lo stesso però.

    Infatti, tu dici che hai la 6.6.2. Però nella ver. 6.6.2 il file /wp-includes/blocks/index.php:27 ha istruzione “global $wp_version;” che funziona. Invece nella versione 6.7.2 il file /wp-includes/blocks/index.php:30 è “$wp_version = wp_get_wp_version();” che non funziona più perché la funzione è assente. Sempre una richiesta di $wp_version. La richiedi con istruzione aggiornata ma non tutti i file sono aggiornati.

    Puoi provare a sostituire il file /wp-includes/blocks/index.php con quello della 6.6.2 magari c’è un colpo di fortuna.

    Buon lavoro comunque. Ciao.

    Chi ha creato la discussione gzaffiro

    (@gzaffiro)

    Vi aggiorno in quanto ho risolto seguendo la procedura indicata qui https://wordpress.org/documentation/article/updating-wordpress/ di reinstallazione manuale di wordpress.

    Prima di procedere alla reinstallazione ho acquistato un servizio di backup dal mio host provider (non si sa mai). Inoltre ho provato a sostituire il file  wp-includes/functions.php sia con la versione 6.6.2 che era quella usata, che con la versione 6.7.2 ultima disponibile: queste azioni non hanno avuto successo e cercando di accedere alla pagina admin sono stati indicati nuove tipologie di fatal error.

    Ho quindi deciso di reinstallare il wordpress manualmente. Ho quindi prima disattivato i plugin usando PHPMyAdmin (si trovano online indicazioni su come fare), poi ho cercato di caricare i file di WP 6.7.2 tramite il file manager messo a disposizione dell’host ma la procedura dava errori. Ho quindi scaricato un client FTP (FileZilla) e caricato i file. Così facendo l’errore è stato risolto e ho potuto riaccedere alla pagina admin. Lì ho terminato l’installazione (dava qualche indicazione di errore non bloccante) e riattivato i plugin. Il sito non risulta danneggiato.

Stai visualizzando 4 risposte - dal 1 al 4 (di 4 totali)
  • Devi essere collegato per rispondere a questo topic.