¿Cuál es la diferencia entre get_bloginfo('url') y get_site_url()?

2 may 2011, 11:26:56
Vistas: 25.5K
Votos: 13

Estoy desarrollando un plugin.

Quiero saber la diferencia entre

get_bloginfo('url');  

y

get_site_url();

Obtengo la misma salida, entonces ¿cuál es la diferencia?

0
Todas las respuestas a la pregunta 4
0
21
  • get_bloginfo('url') llama a home_url() que llama a get_home_url() y lee la opción home

  • get_bloginfo('wpurl') llama a site_url() que llama a get_site_url() y lee la opción siteurl

  • get_bloginfo('siteurl') y get_bloginfo('home') son argumentos obsoletos y devuelven get_bloginfo('url') (el argumento siteurl está documentado incorrectamente en el Codex como igual a wpurl, no es así en el código actual)

La diferencia es que estas dos funciones acceden a diferentes opciones, que normalmente son iguales.

Sería más apropiado comparar get_bloginfo('url') con get_home_url() o get_bloginfo('wpurl') con get_site_url(). Entonces la respuesta es que estas funciones están en diferentes niveles en la cadena. Típicamente, cuanto más profunda es la función, más flexible es y menos filtros pasa la salida.

2 may 2011 16:31:14
2

Desde 'wp-includes/general-template.php'

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

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

Entonces:

  • get_bloginfo('home'), get_bloginfo('siteurl') y get_bloginfo('url') son equivalentes a llamar a home_url() (también ten en cuenta que el uso de home y siteurl como parámetros de get_bloginfo está obsoleto)
  • get_bloginfo('wpurl') es lo mismo que llamar a site_url()
2 may 2011 11:53:22
Comentarios

get_bloginfo('siteurl') está obsoleto desde hace mucho tiempo y actualmente es lo mismo que get_bloginfo('url') (home_url()). Tendría más sentido que fuera igual a get_bloginfo('wpurl') (site_url()) pero por alguna razón no lo es. Veo que el Codex dice lo contrario, bueno, el código es diferente a la documentación. Fuente.

Rarst Rarst
2 may 2011 16:35:00

ok...interesante y confuso. editando mi respuesta después de haber visto el código!

anu anu
2 may 2011 17:54:04
2

Consulta los parámetros en el Codex:

get_site_url / get_bloginfo

2 may 2011 11:50:01
Comentarios

Estoy buscando la diferencia específica entre los dos

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

revisar el codex te permitiría ver las diferencias específicas entre los dos.

anu anu
2 may 2011 15:41:46
2

Si no recuerdo mal, la principal diferencia entre home_url()/get_site_url() y sus equivalentes en get_bloginfo() es que home_url()/get_site_url() devuelven el esquema http/https correcto, mientras que get_bloginfo() no lo hace.

2 may 2011 15:36:58
Comentarios

Incorrecto, get_bloginfo() simplemente llama a las funciones site_url()/home_url() y devolverá el esquema adecuado tal como lo hacen ellas.

Rarst Rarst
2 may 2011 16:40:21

¡Oh, genial! Parece que eso cambió desde la última vez que miré general-template.php. :)

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