Cum se folosește get_template_directory_uri() pentru a încărca o imagine dintr-un subfolder al temei?
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ă?

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

O metodă mai dinamică este să adaugi în fișierul tău functions.php următoarea linie
add_theme_support( 'custom-logo' );
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" />';
