• Moderatore

    Slash di troppo in un link ottenuto dalla funzione <?php bloginfo('url'); ?>

    Ciao a tutti,
    il mio problema è il seguente, sul mio tema di WP nel menù del sito ho un'immagine con link alla home page utilizzando questo codice: <?php bloginfo('url'); ?>/home.html, sul sito però ho installato un plugin per il multilingua WPML Multilingual CMS con la lingua inglese attiva, quindi quando sono nella parte inglese nel menù invece di avere un link tipo dvrs.it/home.html ottengo dvrs.it//home.html con il doppio slash appunto.
    Una soluzione sarebbe quella di duplicare la pagina del template in modo da averne una dedicata al sito in inglese ed una al sito in italiano, ma così se avessi delle modifiche da fare dovrei lavorare su due pagine invece che su una, esiste una soluzione più elegante per risolvere questo problema?

    Grazie mille
    Ciao 🙂


  • Moderatore

    Volevo sapere se per caso ci fosse una soluzione al mio problema 😄


  • User Attivo

    Ho dato un'occhiata al tuo sito, la funzione <?php bloginfo('url'); ?> non c'entra nulla, lo slash di troppo lo mette il plugin linguistico, infatti si trova dopo "en/". Se dipendesse dalla funzione sopra menzionata, lo slash di troppo sarebbe dopo dvrs.it, quindi avresti dvrs.it//en/home.htm, invece il link attuale a cui porta attualmente il logo è dvrs.it/en//home.html. Questo succede perché il plugin aggiunge (giustamente) il suffisso "en/" a tutti i link tradotti, andandosi ad aggiungere a quello inserito da te manualmente in "/home.html". 🙂

    Di conseguenza, la soluzione al tuo problema non è semplice, in quanto se modifichi il codice del plugin facendo in modo che non produca lo slash (dovrebbe essere una piccola modifica, molto semplice, da ripetere ad ogni aggiornamento), ti ritroveresti con l'immagine che linka la home in modo corretto, ma con tutti gli altri link sbagliati (cioè senza lo slash).

    Studiandomi velocemente la cosa, mi chiedevo perché non avessi usato solo la funzione <?php bloginfo('url'); ?>, visto che la index.html è dominante. Poi ho visto che in realtà usi la index in modo diverso e che l'immagine porta a home.html, non a index.html. Quindi nemmeno questa soluzione va bene.

    A questo punto la soluzione più semplice è quella di inserire il link "home" in modo testuale nel menu, in modo che il plugin linguistico possa trasformarlo in modo corretto. Allo stesso tempo, sarà necessario togliere il link dal logo centrale, lasciandolo come puramente estetico. 🙂

    Oppure, soluzione più semplice ancora, puoi usare il plugin Transposh, che utilizzo personalmente, che pone il suffisso "/en" alla fine del link, e non in mezzo, quindi questo problema non dovrebbe più manifestarsi. Chiaramente avrai da smanettare un po' per adattarlo al tuo tema.


  • Moderatore

    Ciao Xevious e grazie per la risposta,
    purtroppo per questioni di tema ho dovuto "arrangiarmi" mettendo il link alla home sul logo, modificare il plugin no perchè poi sarebbe da fare ad ogni aggionamento, aggiungere la scritta "home" snaturerebbe il tema, al momento utilizzerò la soluzione di aggiungere una pagina nel tema per la versione inglese e poi con calma mi studio il plugin che mi hai consigliato.

    Grazie ancora per i tuoi consigli 😄