Получение изображений из директории темы на страницах
Да, я знаю, что у нас есть get_template_directory_uri();
для ссылки на директорию темы. Это работает, когда я помещаю следующий код внутри index.php
или в header.php
:
<img src="<?php echo get_template_directory_uri(); ?>/images/sample.png">
Но когда я добавляю изображение внутри страниц при редактировании через текстовый редактор, а не через визуальный, это не работает. Как мне получить изображения из директории images темы на страницах?
Спасибо!

Господин Глорфиндел, спасибо за редактирование моего поста. Если вы считаете его правильным, пожалуйста, проголосуйте за него. Это действительно даст мне хороший старт на stackexchange. Заранее спасибо

Вы должны использовать Security Escape - get_template_directory_ur. [WordPress.Security.EscapeOutput.OutputNotEscaped] Весь вывод должен проходить через функцию экранирования (см. разделы по безопасности в WordPress Developer Handbooks), обнаружено 'get_template_directory_uri'.

Невозможно использовать PHP-код в редакторе. Вы можете использовать изображение с полным путем.
<img src="/wp-content/themes/your-theme/assets/images/1.jpg" />
Вообще, я бы избегал использования изображений, специфичных для темы, в контенте, потому что при смене и удалении старой темы они пропадут. Поэтому я бы рекомендовал использовать /wp-content/uploads/ для изображений контента.

Ответ — да. Вы можете запускать PHP-код в редакторе. Но это не самый правильный способ добавления изображений. Вместо этого вам следует создавать шорткоды для получения этих изображений из папки темы или использовать код, подобный приведённому ниже:
<img src="/wp-content/themes/your-theme/assets/images/1.jpg" />
Удаление имени домена может даже улучшить количество HTTP-запросов. Если удаление домена не сработает, вы можете установить плагины для выполнения PHP в WordPress. Существует несколько подобных плагинов. Чтобы узнать больше, вам следует прочитать эту статью. Надеюсь, это поможет решить ваши проблемы :) Удачи в написании кода.

Разве Мэтт не объявил, что PHP не будет работать внутри записи WordPress?

get_template_directory_uri()
Быстрый поиск по коду ядра WordPress показывает два разных подхода. Эту функцию необходимо экранировать, когда она используется внутри атрибута тега.
<img src="<?php echo esc_url( get_template_directory_uri() . '/images/logo.jpg' ); ?>" alt="" >
При использовании внутри wp_enqueue_style() или wp_enqueue_script() экранирование не выполняется:
wp_enqueue_script( 'theme-customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '', true );
Однако, если посмотреть на саму функцию, перед возвратом значений применяется фильтр, что вызывает подозрения — возвращаемое значение может быть изменено в плагинах, и мы точно не знаем, что будет возвращено. В такой ситуации лучше перестраховаться и всегда применять экранирование.
