В чем разница между get_bloginfo('url') и get_site_url()?
Я разрабатываю плагин.
Я хочу знать разницу между
get_bloginfo('url');
и
get_site_url();
Я получаю одинаковый результат, так в чем же разница?
get_bloginfo('url')вызываетhome_url(), которая вызываетget_home_url()и читает опциюhomeget_bloginfo('wpurl')вызываетsite_url(), которая вызываетget_site_url()и читает опциюsiteurlget_bloginfo('siteurl')иget_bloginfo('home')являются устаревшими аргументами и возвращаютget_bloginfo('url')(аргументsiteurlв Codex ошибочно указан как равныйwpurl, но в текущем коде это не так)
Разница заключается в том, что эти цепочки функций обращаются к разным опциям, которые обычно одинаковы.
Более правильно сравнивать get_bloginfo('url') с get_home_url() или get_bloginfo('wpurl') с get_site_url(). Тогда ответом будет то, что эти функции находятся на разных уровнях цепочки. Как правило, чем глубже функция - тем она гибче и тем меньше фильтров проходит её вывод.
Из 'wp-includes/general-template.php'
function get_bloginfo( $show = '', $filter = 'raw' ) {
switch( $show ) {
case 'home' : // УСТАРЕЛО
case 'siteurl' : // УСТАРЕЛО
_deprecated_argument([сокращено]);
case 'url' :
$output = home_url();
break;
case 'wpurl' :
$output = site_url();
break;
Итак:
get_bloginfo('home'),get_bloginfo('siteurl')иget_bloginfo('url')эквивалентны вызовуhome_url()(также обратите внимание, что использование параметров home и siteurl в get_bloginfo устарело)get_bloginfo('wpurl')аналогично вызовуsite_url()
get_bloginfo('siteurl') давно устарел и в настоящее время совпадает с get_bloginfo('url') (home_url()). Логичнее было бы, чтобы он равнялся get_bloginfo('wpurl') (site_url()), но по какой-то причине это не так. Я вижу, что Codex говорит иное, но код отличается от документации. Источник.
Rarst
Ознакомьтесь с параметрами в Codex: