Как использовать get_template_directory_uri() для загрузки изображения из подпапки темы?

21 янв. 2014 г., 14:28:17
Просмотры: 32.9K
Голосов: 4

Как мне вставить изображение, которое находится в подпапке директории моей темы?

У меня следующая ситуация: В директории моей пользовательской темы есть следующая папка, содержащая изображение jpg: /assets/img/flexslider/flex-1.jpg

Сейчас в моем файле header.php есть что-то вроде этого:

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

Очевидно, когда я загружаю страницу, изображение flex-1.jpg не загружается, потому что указан неверный путь (фактически, используя FireBug, я вижу, что он пытается загрузить изображение assets/img/flexslider/flex-1.jpg), поэтому я думаю, что мог бы использовать абсолютный путь, но это довольно ужасно!

Поэтому я думаю использовать функцию get_template_directory_uri(), предоставляемую WordPress, и попробовал изменить предыдущий код следующим образом:

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

Но это не работает, и используя FireBug, я вижу, что ничего не загружается, фактически в исходном коде моего браузера я вижу:

<img src="">

Что я упускаю?

0
Все ответы на вопрос 3
2
10

Вам следует использовать echo, а также вы неправильно закрываете PHP-тег. Посмотрите исходный код вывода, чтобы понять, как это сделать правильно.

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

Или вы можете использовать bloginfo, что проще запомнить и использовать (не требуется echo)

<img src="<?php bloginfo('template_url'); ?>/assets/img/flexslider/flex-1.jpg"/>
21 янв. 2014 г. 14:39:42
Комментарии

спасибо большое :-)

AndreaNobili AndreaNobili
21 янв. 2014 г. 16:11:01

Огромное спасибо!!!

Vương Hữu Thiện Vương Hữu Thiện
2 нояб. 2020 г. 19:46:06
1
  1. Более динамичный способ — добавить эту строку в ваш файл functions.php

    add_theme_support( 'custom-logo' );

  2. Для отображения изображения используйте

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

Узнать больше

28 дек. 2020 г. 01:53:38
Комментарии

Почему вы думаете, что автор вопроса хочет кастомный логотип, я не вижу, как вы это поняли из вопроса.

Tony Djukic Tony Djukic
30 дек. 2020 г. 01:56:47
0
<img src='<?= get_template_directory_uri() . "./assets/img/flexslider/flex-1.jpg" ?>' alt="Слайдер Flex">

Вы заменяете <?php ?> на <?= ?> или <?php echo ?>

3 янв. 2024 г. 13:14:16