• User Attivo

    Questo codice è da inserire nel file functions.php del tema

    Ipotizzando che wordpress sia installato nella root:
    [php]
    function get_lingua(){
    $url=explode('/',$_SERVER['REQUEST_URI']);
    //valore predifinito nel caso gli articoli si trovino nella root
    $ret='it-IT';
    if(sizeof($url)>1)
    {
    switch ($url[1])
    {
    case 'en':{
    $ret='en-US';
    break;
    }
    case 'fr':{
    $ret='fr-FR';
    break;
    }
    case 'it':
    default:{
    $ret='it-IT';
    break;
    }

        }
    }
    return $ret;
    

    }
    [/php]Nel file header.php devi invece modificare la prima riga come segue:
    [php]
    <html dir="ltr" lang="<?php echo get_lingua();?>">
    [/php]
    😉


  • User Attivo

    Grazie, adesso devo solo capire come modificare gli url (permalink) in modo che compaia /en/ , inizialmente pensavo ad una categoria ma questa possibilità sembra valida solo per gli articoli e non per le pagine.
    Grazie ancora e ciao


  • User Attivo

    Ciao, per le pagina è sufficente creare un pagina con url /en/ e impostare tutte le altre come pagine figlie.
    L'impostazione per rendere una pagina "figlia" la trovi sia nel modifica, che nel modifica veloce...


  • User Attivo

    Grazie! Mi viene un'altro dubbio, così facendo all'interno delle pagine in inglese compare "

    <link rel='up' title='en' href='http://miosito/en[](http://127.0.0.1:8888/en)' />
    ```Questo cosa comporta per i motori di ricerca? 
    
    Visto che la pagina esiste solo per permettere l'uso del codice potrei inserire nel file robot:
    

    Disallow: /en

    Che ne pensi?
    Ciao :D

  • User Attivo

    Il codice che mi hai dato lo devo iserire nel functions.php prima dell'ultimo endif;

    function get_lingua(){
        $url=explode('/',$_SERVER['REQUEST_URI']);
        //valore predifinito nel caso gli articoli si trovino nella root
        $ret='it-IT';
        if(sizeof($url)>1)
        {
            switch ($url[1])
            {
            case 'en':{
                    $ret='en-US';
                    break;
                }
            case 'fr':{
                    $ret='fr-FR';
                    break;
                }    
            case 'it':
            default:{
                    $ret='it-IT';
                    break;
                }
    
            }
        }
        return $ret;
    }  
    endif;
    
    

    Oppure dopo l'endif alla fine di tutto il function? Devo sostituirlo a qualcosa o devo solo aggiungerlo?

    Riguardo alla parte

    <html dir="ltr" lang="<?php echo get_lingua();?>">
    

    devo inserirla al posto di ```
    <html <?php language_attributes(); ?>>

    ?><!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>

    
    Grazie.

  • User Attivo

    La funzione va dopo l'ultimo endif;

    Il codice nel header.php deve essere come questo (elimini quindi language_attributes() 😞
    <!DOCTYPE html>
    <html dir="ltr" lang="<?php echo get_lingua();?>">
    <head>

    😉


  • User Attivo

    Grazie, ho però notato un rallentamento delle pagine inserendo quel codice, è normale?


  • User Attivo

    Se mi parti un rallentamento di 1 ms, può essere se è maggiore non penso sia da imputare al codice, soprattutto vista la semplicità dello stesso. Non è che contemporaneamente hai falto altre modifiche?


  • User Attivo

    No, nessuna modifica, è solo che impiega alcuni secondi prima di aprire la prima pagina, poi se uno continua a navigare le pagine interne le apre subito, bho magari è un problema del server.


  • User Attivo

    Dalla tua descrizione sembra che dipenda da files javascript e/o immagini. Questi una volta scaricati vengono salvati nella cache per cui sono subito prnti ad ogni caricamento di pagina. 😉 tutto normale insomma.

    Altrimenti potrebbe dipendere dal fatto che stai accedendo ad un file su di un server che al momento è lento (ogni tanto mi capita di notare rallentamenti quando utilizzo jquery sulla cdn di google)