В чем разница между get_bloginfo ('url') и get_site_url ()?


11

Я разрабатываю плагин.

Я хочу знать разницу между

get_bloginfo('url');  

и

get_site_url();

У меня такой же вывод, тогда какая разница?

Ответы:


19
  • get_bloginfo('url')звонки home_url()звонки get_home_url()читает вариантhome

  • get_bloginfo('wpurl')звонки site_url()звонки get_site_url()читает вариантsiteurl

  • get_bloginfo('siteurl')и get_bloginfo('home')являются устаревшими аргументами и возвращаются get_bloginfo('url')( siteurlаргумент задокументирован неверно в Кодексе как равный wpurl, в текущем коде это не так )

Разница заключается в том, что эти две функции цепочки различных вариантов, которые, как правило, одинаковы.

Было бы более уместно сравнить get_bloginfo('url')с get_home_url()или get_bloginfo('wpurl')до get_site_url(). Тогда ответ заключается в том, что эти функции находятся на разных уровнях в цепочке. Как правило, чем глубже функция - тем она более гибкая и через которую проходит фильтр.


3

Из 'wp-includes / general-template.php'

function get_bloginfo( $show = '', $filter = 'raw' ) {

switch( $show ) {
      case 'home' : // DEPRECATED
      case 'siteurl' : // DEPRECATED
        _deprecated_argument([snipped]);
      case 'url' :
        $output = home_url();
        break;
      case 'wpurl' :
        $output = site_url();
        break;

Так:

  • get_bloginfo('home'), get_bloginfo('siteurl')И get_bloginfo('url')это эквивалентно вызову home_url()(также отметить , что использование дома и SITEURL в качестве параметров get_bloginfo осуждается)
  • get_bloginfo('wpurl') так же, как звонить site_url()

get_bloginfo('siteurl')давно устарели и в настоящее время является такой же , как get_bloginfo('url')( home_url()). Было бы более логично, если он равен get_bloginfo('wpurl')( site_url()), но по какой-то причине это не так. Я вижу, что Кодекс говорит иначе, хорошо - код отличается от документации. Источник .
1

хорошо ... интересно и запутанно. редактируя мой ответ, посмотрев на код!
ана

1

Проверьте параметры в Кодексе:

get_site_url / get_bloginfo


Я ищу конкретную разницу между ними
IM-JM

проверка кодекса позволит вам увидеть конкретные различия между ними.
ана

1

IIRC, основное различие между home_url()/ get_site_url()и их get_bloginfo()аналогами заключается в том, что home_url()/ get_site_url()возвращает правильную схему http / https, а get_bloginfo()не возвращает .


Неправильно, get_bloginfo()просто вызывает site_url()/ home_url()выполняет функции и возвращает правильную схему так же, как и они.
1

О, аккуратно! Похоже, это изменилось с тех пор, как я смотрел в последний раз general-template.php. :)
Чип Беннетт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.