Qual è la differenza tra get_bloginfo('url') e get_site_url()?

2 mag 2011, 11:26:56
Visualizzazioni: 25.5K
Voti: 13

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?

0
Tutte le risposte alla domanda 4
0
21
  • get_bloginfo('url') chiama home_url() che a sua volta chiama get_home_url() e legge l'opzione home

  • get_bloginfo('wpurl') chiama site_url() che a sua volta chiama get_site_url() e legge l'opzione siteurl

  • get_bloginfo('siteurl') e get_bloginfo('home') sono argomenti deprecati e restituiscono get_bloginfo('url') (l'argomento siteurl è documentato erroneamente nel Codex come equivalente a wpurl, 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.

2 mag 2011 16:31:14
2

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') e get_bloginfo('url') sono equivalenti a chiamare home_url() (nota inoltre che l'uso dei parametri home e siteurl in get_bloginfo è obsoleto)
  • get_bloginfo('wpurl') è lo stesso che chiamare site_url()
2 mag 2011 11:53:22
Commenti

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 Rarst
2 mag 2011 16:35:00

ok...interessante e confuso. modifico la mia risposta dopo aver guardato il codice!

anu anu
2 mag 2011 17:54:04
2

Consulta i parametri sul Codex:

get_site_url / get_bloginfo

2 mag 2011 11:50:01
Commenti

Sto cercando le differenze specifiche tra i due

I-M-JM I-M-JM
2 mag 2011 11:51:41

consultare il codex ti permetterà di vedere le differenze specifiche tra i due.

anu anu
2 mag 2011 15:41:46
2

Se ricordo bene, la differenza principale tra home_url()/get_site_url() e i loro equivalenti in get_bloginfo() è che home_url()/get_site_url() restituiscono lo schema http/https corretto, mentre get_bloginfo() non lo fa.

2 mag 2011 15:36:58
Commenti

Incorretto, get_bloginfo() chiama semplicemente le funzioni site_url()/home_url() e restituirà lo schema corretto proprio come fanno loro.

Rarst Rarst
2 mag 2011 16:40:21

Oh interessante! Sembra che sia cambiato dall'ultima volta che ho guardato general-template.php. :)

Chip Bennett Chip Bennett
2 mag 2011 17:16:56