Qual è la differenza tra get_bloginfo('url') e get_site_url()?
Sto sviluppando un plugin.
Vorrei sapere la differenza tra
get_bloginfo('url');
e
get_site_url();
Ho ottenuto lo stesso output, quindi qual è la differenza?
get_bloginfo('url')chiamahome_url()che a sua volta chiamaget_home_url()e legge l'opzionehomeget_bloginfo('wpurl')chiamasite_url()che a sua volta chiamaget_site_url()e legge l'opzionesiteurlget_bloginfo('siteurl')eget_bloginfo('home')sono argomenti deprecati e restituisconoget_bloginfo('url')(l'argomentositeurlè documentato erroneamente nel Codex come equivalente awpurl, non lo è nel codice corrente)
La differenza è che queste due funzioni fanno riferimento a opzioni diverse, che tipicamente sono le stesse.
Sarebbe più appropriato confrontare get_bloginfo('url') con get_home_url() oppure get_bloginfo('wpurl') con get_site_url(). In questo caso la risposta è che queste funzioni si trovano a livelli diversi nella catena. Tipicamente più una funzione è profonda - più è flessibile e meno filtri attraversa l'output.
Dal file 'wp-includes/general-template.php'
function get_bloginfo( $show = '', $filter = 'raw' ) {
switch( $show ) {
case 'home' : // OBSOLETO
case 'siteurl' : // OBSOLETO
_deprecated_argument([snipped]);
case 'url' :
$output = home_url();
break;
case 'wpurl' :
$output = site_url();
break;
Quindi:
get_bloginfo('home'),get_bloginfo('siteurl')eget_bloginfo('url')sono equivalenti a chiamarehome_url()(nota inoltre che l'uso dei parametri home e siteurl in get_bloginfo è obsoleto)get_bloginfo('wpurl')è lo stesso che chiamaresite_url()
get_bloginfo('siteurl') è da tempo deprecato e attualmente è lo stesso di get_bloginfo('url') (home_url()). Avrebbe più senso che fosse uguale a get_bloginfo('wpurl') (site_url()) ma per qualche motivo non lo è. Vedo che il Codex dice il contrario, beh - il codice è diverso dalla documentazione. Fonte.
Rarst
Consulta i parametri sul Codex: