• User

    Errore nella modifica del file functions.php

    Ciao a tutti,
    sto provando a inserire il codice di monitoraggio Anlytics all'interno del file functions da Aspetto > Editore del tema.

    Il problema è che quando vado a salvare mi appare questo errore:
    Impossibile comunicare con il sito per verificare errori irreversibili, la modifica PHP è stata annullata. Dovrai caricare la modifica in qualche altro modo, ad esempio usando SFTP

    A cosa può essere dovuto?

    Può essere che ci sia un errore nel codice della pagina functions.php? Eccolo:

    <?php
    
    add_action('wp_enqueue_scripts', 'child_enqueue_styles', 15);
    function child_enqueue_styles() {
      wp_enqueue_style('parent_style',
        get_template_directory_uri() . '/style.css');
      wp_enqueue_style('child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array('parent_style'), '1.0.0', 'all' );
    }
    
    
    // Nascondere il titolo delle pagine
    
    function ele_disable_page_title( $return ) {
       return false;
    }
    add_filter( 'hello_elementor_page_title', 'ele_disable_page_title' );
    
    
    // Abilitare i widget
    
    if (function_exists("register_sidebar")) {
      register_sidebar();
    }
    
    //Dequeue Elementor Pro smartmenus script
    function elementor_pro_dequeue_script(){
    	wp_dequeue_script('smartmenus');
    }
    add_action('wp_footer', 'elementor_pro_dequeue_script', 15);
    
    
    
    // Abilita clic smartmenus
    function custom_smartmenu_js(){
    	wp_enqueue_script('ovverride-menu', get_stylesheet_directory_uri() . '/js/jquery.smartmenus.min.js', array('jquery'), '', true);
    }
    
    add_action('wp_enqueue_scripts', 'custom_smartmenu_js');
    
    /** 
     *  Aggiungere SVG a WordPress
     */
     
    function add_file_types_to_uploads($file_types){
    $new_filetypes = array();
    $new_filetypes['svg'] = 'image/svg+xml';
    $new_filetypes['svgz'] = 'image/svg+xml';
    $file_types = array_merge($file_types, $new_filetypes );
    return $file_types;
    }
    add_action('upload_mimes', 'add_file_types_to_uploads');
    
    ?>
    
    

    Ringrazio


    giulio.marchesi kyle46 2 Risposte
  • User Attivo

    @dmgius84 beh, semplicemente ti consiglio di inserire il codice di monitoraggio NON in functions.php ma in header.php (WordPress - aspetto - editor del tema), va inserito qui, nella sezione <head> (stessa cosa per il codice di Search Console ed eventualmente altri), indipendentemente che tu faccia copia-incolla del blocco di codice di monitoraggio che trovi su Analytics oppure tramite il codice unificato di Google Tag Manager.


  • User Attivo

    @dmgius84 ha detto in Errore nella modifica del file functions.php:

    Impossibile comunicare con il sito per verificare errori irreversibili, la modifica PHP è stata annullata. Dovrai caricare la modifica in qualche altro modo, ad esempio usando SFTP

    Significa che dovresti inserirlo tramite collegamento FTP, usando un software di connessione al tuo server da remoto adeguato, come Filezilla.

    ps: effettua sempre un backup completo del tuo sito, prima di fare una qualsiasi modica relativa alla pagina "funcions.php".

    Saluti, Kyle.


    eleclipse 1 Risposta
  • User Attivo

    @kyle46 non è esattamente così.

    Significa che, siccome lo stava facendo da WordPress, WP si è accorto che se avesse eseguito l'ordine il sito sarebbe andato in crash.

    Se lo fa da FTP (o SFTP) ovviamente la cosa bypassa WP e funziona... mandando in crash il sito.

    Il punto è che il codice che ha inserito causa problemi


  • Miglior Risposta

    No, non modificare header.php o altri file del template, vengono sovrascritti dagli aggiornamenti e non è una buona pratica wp.

    I più fondamentalisti di wordpress farebbero un plugin ma mi sembra eccessivo.
    Nel function.php (del CHILD THEME) va bene ma probabilmente hai un errore che blocca il salvataggio, ricontrolla il codice che hai preso oppure usa un più semplice plugin come quello ufficiale di Google.

    add_action('wp_head', 'addga');
    
    function addga() {
     ?> 
    TUO SCRIPT
    <?php
    }
    

    Se ti serve codice nel footer devi cambiare wp_head con wp_footer


    D 1 Risposta
  • User

    Esattamente quello di cui avevo bisogno.
    grazie mille

    @homeworker ha detto in Errore nella modifica del file functions.php:

    No, non modificare header.php o altri file del template, vengono sovrascritti dagli aggiornamenti e non è una buona pratica wp.

    I più fondamentalisti di wordpress farebbero un plugin ma mi sembra eccessivo.
    Nel function.php (del CHILD THEME) va bene ma probabilmente hai un errore che blocca il salvataggio, ricontrolla il codice che hai preso oppure usa un più semplice plugin come quello ufficiale di Google.

    add_action('wp_head', 'addga');
    
    function addga() {
     ?> 
    TUO SCRIPT
    <?php
    }
    

    Se ti serve codice nel footer devi cambiare wp_head con wp_footer


  • Moderatore

    I plugin si creano non perché si è fondamentalisti ma perché è il modo corretto di aggiungere funzionalità che non hanno nulla a che fare con la grafica (tema) del sito, un plugin è semplicemente un file PHP come qualsiasi altro file PHP che già carica WordPress.

    Come valutare se uno snippet va messo in un plugin o nel tema?

    Beh, prima di tutto il tema deve essere scritto da noi e non un tema di cui potrebbero esserci aggiornamenti com'è stato detto sopra.

    Poi la seconda domanda è, lo snippet che voglio inserire se dovessi cambiare tema dovrò fare copia incolla nel tema nuovo o no?

    Rispondendo a queste due domande si ha la risposta su dove mettere lo snippet o meno.

    Poi, ovvio, prima si cerca sulla repo di WordPress se esiste già un plugin che risolve il problema.