Не работает <?php echo get_template_directory_uri(); ?>/images/image.jpg в сайдбаре
Надеюсь, кто-нибудь сможет ответить на этот вопрос!
Я использую этот код для шапки сайта, и он работает:
<img src="<?php echo get_template_directory_uri(); ?>/images/image.jpg">
Но когда я пытаюсь использовать его в текстовом виджете сайдбара, изображение не отображается. Есть какие-нибудь идеи?
PHP код не будет выполняться внутри текстового виджета. Существуют плагины, которые позволяют это сделать, но такой подход крайне не рекомендуется.
Добавьте этот код в файл functions.php или, что еще лучше, сделайте из него небольшой плагин:
// Разрешить использование шорткодов внутри виджетов.
add_filter( 'widget_text', 'do_shortcode' );
// Зарегистрировать тег для нашего шорткода и указать функцию, которая будет выполняться.
add_shortcode( 'template_directory_uri', 'wpse61170_template_directory_uri' );
// Определить функцию
function wpse61170_template_directory_uri() {
return get_template_directory_uri();
}
Чтобы использовать его в админке, добавьте шорткод [template_directory_uri]
в ваш текстовый виджет, и будет выведена директория шаблона, например:
[template_directory_uri]/images/image.jpg

Вы можете использовать PHP-виджет, который представляет собой обычный текстовый виджет, адаптированный для выполнения PHP-кода. См. WordPress › PHP Code Widget « Плагины WordPress от http://ottodestruct.com
