@yraiv

Почему не выводится изображение в шапку сайта?

Читал про относительные и абсолютные пути для вывода своего изображения и по итогу на локальном сервере у меня вылезло изображение в шапку сайта, а вот на оригинале нет. Почему так может быть?
Такая структура:
Папка с моей темой (MyTheme)
В ней лежит header.php, index.php и тд, а также папка assets, в папке assets лежит папка images и вот в этой папке уже мой файл в формате png.
Как только я не пробовал обратиться - изображения нет, есть только альтернативный текст. Почему так?
Я не хочу писать весь код начиная с папки www/wp-content, темы и там уже моя или как там, там очень длинно все. Можно же как-то сделать так, чтоб он искал изображение относительно себя?
Условно, вот если в папке моей темы лежит hedaer.php, то он начинал поиск именно с этой папки, в которой лежит, по идеи мне надо зайти в assets,а потом в image, но у меня он не показывает картинку, почему?
<?php
    $image_path = "/assets/images/MyTheme-Header.png"; // Я пробовал разные вариации и с точкой и без и тд, но все никак не сработало
    echo "<img src='$image_path' alt='MySite head icon'>";
    ?>
  • Вопрос задан
  • 39 просмотров
Решения вопроса 2
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Используйте функцию get_theme_file_uri()

$image_path = get_theme_file_uri( '/assets/images/MyTheme-Header.png' );
Ответ написан
Комментировать
YBB
@YBB
Я не хочу писать весь код начиная с папки www/wp-content,

Пишите начиная с <?= get_stylesheet_directory_uri() ?>
Матчасть: https://developer.wordpress.org/reference/function...

Можно же как-то сделать так, чтоб он искал изображение относительно себя?

Фокус в том, что для сервера, точнее, php-скрипта, "относитесь себя" это одно место, а для браузера, которому предстоит показать картинку, это совсем другое. Поэтому абсолютная адресация лучше.

почему?

Потому что /assets/... для браузера это пусть от корня сайта. Про Тему как отдельную сущность браузер вообще ничего не знает, да и не должен, по большому счету.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы