Come usare get_template_directory_uri() per caricare un'immagine che si trova in una sotto-cartella del tema?

21 gen 2014, 14:28:17
Visualizzazioni: 32.9K
Voti: 4

Come posso inserire un'immagine che si trova in una sotto-cartella nella directory del mio tema?

Ho la seguente situazione: Nella directory del mio tema personalizzato ho la seguente cartella che contiene un'immagine jpg: /assets/img/flexslider/flex-1.jpg

Ora nel mio file header.php, ho qualcosa del genere:

<li>
  <img src="assets/img/flexslider/flex-1.jpg">
  <div class="flex-caption">
    <p class="flex-caption-text">
      <span>Lorem ipsum</span><br>
      <span>sit dolor</span><br>
      <span>adipiscing elitur</span>
    </p>
  </div>
</li>

Ovviamente, quando carico la pagina, l'immagine flex-1.jpg non viene caricata perché non c'è il percorso corretto (infatti usando FireBug ottengo che tenta di caricare l'immagine assets/img/flexslider/flex-1.jpg) quindi penso che potrei usare il percorso assoluto ma questo è piuttosto brutto!

Quindi sto pensando di utilizzare la funzione get_template_directory_uri() fornita da WordPress per fare questo e ho provato a modificare il codice precedente in questo modo:

<li>
  <img src=<?php get_template_directory_uri().'/assets/img/flexslider/flex-1.jpg' ?>>
  <div class="flex-caption">
    <p class="flex-caption-text">
      <span>Lorem ipsum</span><br>
      <span>sit dolor</span><br>
      <span>adipiscing elitur</span>
    </p>
  </div>
</li>

Ma non funziona e usando FireBug posso vedere che non sta caricando nulla, infatti nel codice sorgente del mio browser ho:

<img src="">

Cosa mi sta sfuggendo?

0
Tutte le risposte alla domanda 3
2
10

Dovresti utilizzare echo e stai anche chiudendo il tag PHP in modo improprio. Visualizza il sorgente dell'output generato per avere un'idea

<img src="<?php echo get_template_directory_uri()."/assets/img/flexslider/flex-1.jpg"; ?>" alt="nome_alternativo">

oppure puoi usare bloginfo che è più facile da ricordare e usare (Non devi usare echo)

<img src="<?php bloginfo('template_url'); ?>/assets/img/flexslider/flex-1.jpg"/>
21 gen 2014 14:39:42
Commenti

grazie mille :-)

AndreaNobili AndreaNobili
21 gen 2014 16:11:01

Grazie mille!!!

Vương Hữu Thiện Vương Hữu Thiện
2 nov 2020 19:46:06
1
  1. Un modo più dinamico è aggiungere questa riga nel tuo file functions.php

    add_theme_support( 'custom-logo' );

  2. Per visualizzare l'immagine usa

$custom_logo_id = get_theme_mod( 'custom_logo' );
$image = wp_get_attachment_image_src( $custom_logo_id , 'full' );
echo '<img src=$image[0] height="100px" />';

Scopri di più

28 dic 2020 01:53:38
Commenti

Perché pensi che l'OP voglia un logo personalizzato? Non capisco come sei arrivato a questa conclusione dalla domanda.

Tony Djukic Tony Djukic
30 dic 2020 01:56:47
0
<img src='<?= get_template_directory_uri() . "./assets/img/flexslider/flex-1.jpg" ?>' alt="Slider flessibile" title="Immagine slider flessibile">

Stai cambiando <?php ?> in <?= ?> oppure <?php echo ?>

3 gen 2024 13:14:16