Cum se folosește get_template_directory_uri() pentru a încărca o imagine dintr-un subfolder al temei?

21 ian. 2014, 14:28:17
Vizualizări: 32.9K
Voturi: 4

Cum pot insera o imagine care se află într-un subfolder al directorului temei mele?

Am următoarea situație: În directorul temei mele personalizate am următorul folder care conține o imagine jpg: /assets/img/flexslider/flex-1.jpg

Acum în fișierul meu header.php, am ceva de genul acesta:

<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>

Evident, când încarc pagina, imaginea flex-1.jpg nu este încărcată deoarece calea nu este corectă (de fapt, folosind FireBug observ că încearcă să încarce imaginea assets/img/flexslider/flex-1.jpg) așa că mă gândesc că aș putea folosi calea absolută, dar asta ar fi destul de inelegant!

Așa că m-am gândit să folosesc funcția get_template_directory_uri() oferită de WordPress pentru a face acest lucru și am încercat să modific codul anterior în acest fel:

<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>

Dar nu funcționează și folosind FireBug pot vedea că nu se încarcă nimic, de fapt în codul sursă al browserului meu am:

<img src="">

Ce îmi scapă?

0
Toate răspunsurile la întrebare 3
2
10

Ar trebui să folosești echo și de asemenea închizi tag-ul php incorect. Verifică codul sursă al output-ului generat pentru a înțelege mai bine.

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

sau poți folosi bloginfo care este mai ușor de reținut și utilizat (Nu este nevoie să folosești echo)

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

multumesc mult :-)

AndreaNobili AndreaNobili
21 ian. 2014 16:11:01

Multumesc foarte mult!!!

Vương Hữu Thiện Vương Hữu Thiện
2 nov. 2020 19:46:06
1
  1. O metodă mai dinamică este să adaugi în fișierul tău functions.php următoarea linie

    add_theme_support( 'custom-logo' );

  2. Pentru a afișa imaginea, folosește

$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" />';

Află mai multe

28 dec. 2020 01:53:38
Comentarii

De ce crezi că OP dorește un logo personalizat, nu văd cum ai dedus asta din întrebare.

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

Poți înlocui <?php ?> cu <?= ?> sau <?php echo ?>

3 ian. 2024 13:14:16