Яка різниця між 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аргумент зафіксовано неправильно в Codex як рівний wpurl, він не знаходиться в поточному коді )

Різниця полягає в тому, що ці дві функціональні ланцюги мають різні варіанти, які, як правило, однакові.

Було б більш доречно порівняти get_bloginfo('url')з get_home_url()або get_bloginfo('wpurl')до get_site_url(). Тоді відповідь полягає в тому, що ці функції перебувають на різному рівні по ланцюгу. Зазвичай, чим глибша функція - тим вона гнучкіша і тим менше виходить фільтр.


3

Від 'wp-include / 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()), але чомусь це не так. Я бачу, що Codex говорить інакше, ну код відрізняється від документації. Джерело .
Рарст

ок ... цікаво і заплутано. редагуючи мою відповідь, переглянувши код!
ану

1

Перевірте параметри в Codex:

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()функції і повернуть правильну схему так само, як і вони.
Рарст

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