Как заменить bloginfo(template_url)
В основном я использовал bloginfo(template_url) в теме WordPress, но когда я запускаю theme-checker, он рекомендует заменить bloginfo(template_url) на get_template_directory_uri(), однако когда я использую get_template_directory_uri(), это не работает. Всё работает нормально, если использовать его для замены get_bloginfo(template_url), но это не то, что мне сейчас нужно. Является ли bloginfo(template_url) устаревшей функцией? Если да, то какая есть замена?
Спасибо
bloginfo($option) выводит значение, тогда как get_template_directory_uri() возвращает строку — возможно, вы забыли добавить echo перед get_template_directory_uri()? Также убедитесь, что передаёте строку в кавычках, например: bloginfo(template_url) против bloginfo('template_url').
Оба варианта — bloginfo('template_url') и get_template_directory_uri() — должны работать, они не устарели.
Во-первых, мне действительно нужно значение, а не строка, поэтому я использую bloginfo($option). Кроме того, в моей теме все работает нормально при использовании bloginfo($option). Проблема возникает, когда я использую theme-checker, который рекомендует использовать get_template_directory_uri() вместо этого, но когда я попробовал, это не сработало. Стоит ли мне просто проигнорировать рекомендацию theme-checker?
WagnerMatosUK
Я бы проигнорировал. Лично я использую get_bloginfo() вместо get_template_directory_uri() и не вижу причин, почему одна функция лучше другой.
Rezen
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;
так что в итоге результат точно такой же.
Я использую код: <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