Не работает <?php echo get_template_directory_uri(); ?>/images/image.jpg в сайдбаре

8 авг. 2012 г., 03:16:32
Просмотры: 37.5K
Голосов: 2

Надеюсь, кто-нибудь сможет ответить на этот вопрос!

Я использую этот код для шапки сайта, и он работает:

<img src="<?php echo get_template_directory_uri(); ?>/images/image.jpg">  

Но когда я пытаюсь использовать его в текстовом виджете сайдбара, изображение не отображается. Есть какие-нибудь идеи?

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

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
8 авг. 2012 г. 05:00:05
Комментарии

Без проблем, и добро пожаловать на WPSE! Не могли бы вы отметить ответ как принятый, нажав на галочку? Спасибо, и удачи!

Dave Romsey Dave Romsey
9 авг. 2012 г. 02:30:32
0

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

8 авг. 2012 г. 07:11:07
0

Простое решение — загрузить изображение в медиабиблиотеку и использовать url в качестве src для изображения в текстовом виджете.

8 авг. 2012 г. 08:42:14