Как заменить bloginfo(template_url)

11 июл. 2012 г., 22:38:18
Просмотры: 28.6K
Голосов: 4

В основном я использовал bloginfo(template_url) в теме WordPress, но когда я запускаю theme-checker, он рекомендует заменить bloginfo(template_url) на get_template_directory_uri(), однако когда я использую get_template_directory_uri(), это не работает. Всё работает нормально, если использовать его для замены get_bloginfo(template_url), но это не то, что мне сейчас нужно. Является ли bloginfo(template_url) устаревшей функцией? Если да, то какая есть замена?

Спасибо

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

bloginfo($option) выводит значение, тогда как get_template_directory_uri() возвращает строку — возможно, вы забыли добавить echo перед get_template_directory_uri()? Также убедитесь, что передаёте строку в кавычках, например: bloginfo(template_url) против bloginfo('template_url').

Оба варианта — bloginfo('template_url') и get_template_directory_uri() — должны работать, они не устарели.

11 июл. 2012 г. 22:49:05
Комментарии

Во-первых, мне действительно нужно значение, а не строка, поэтому я использую bloginfo($option). Кроме того, в моей теме все работает нормально при использовании bloginfo($option). Проблема возникает, когда я использую theme-checker, который рекомендует использовать get_template_directory_uri() вместо этого, но когда я попробовал, это не сработало. Стоит ли мне просто проигнорировать рекомендацию theme-checker?

WagnerMatosUK WagnerMatosUK
12 июл. 2012 г. 10:43:22

Я бы проигнорировал. Лично я использую get_bloginfo() вместо get_template_directory_uri() и не вижу причин, почему одна функция лучше другой.

Rezen Rezen
12 июл. 2012 г. 19:07:41

Полезно знать! Просто странно, что theme-checker предлагает изменение, которое, кажется, не является необходимым... В любом случае, спасибо за помощь.

WagnerMatosUK WagnerMatosUK
13 июл. 2012 г. 11:13:01
0

bloginfo является обёрткой для get_bloginfo, которая просто напрямую вызывает эти функции:

function get_bloginfo( $show = '', $filter = 'raw' ) {
    case 'stylesheet_directory':
        $output = get_stylesheet_directory_uri();
        break;
    case 'template_directory':
    case 'template_url':
        $output = get_template_directory_uri();
        break;

так что в итоге результат точно такой же.

12 июл. 2012 г. 08:49:01
0

Это правильный способ -

<?php echo get_template_directory_uri(); ?>
11 июл. 2012 г. 22:48:33
3

Вы можете использовать оба варианта:

<?php echo get_template_directory_uri(); ?>
<?php echo get_bloginfo('template_url'); ?>
12 июл. 2012 г. 08:33:15
Комментарии

Перед bloginfo() не нужен echo.

Geert Geert
12 июл. 2012 г. 08:46:43

да.. это не нужно. извините за это. должно быть get_bloginfo

Monirul Islam Monirul Islam
12 июл. 2012 г. 09:02:17

Я использую код: <img class="big_divider" src="<?php bloginfo('template_url'); ?>/images/dividers/big_divider.png" alt="content divider" /> и он работает именно так, как я хотел. Но theme-checker рекомендует использовать get_template_directory_uri() вместо этого, который у меня не работает, когда я его использовал. Это заставило меня задуматься, не устаревает ли bloginfo($option). Если нет, то почему theme-checker предлагает его заменить?

WagnerMatosUK WagnerMatosUK
12 июл. 2012 г. 10:49:17