web-dev-qa-db-fra.com

Quelle est la différence entre get_bloginfo ('url') et get_site_url ()?

Je développe un plugin.

Je veux connaître la différence entre

get_bloginfo('url');  

et

get_site_url();

J'ai le même résultat, alors quelle est la différence?

11
I-M-JM
  • get_bloginfo('url')appelle home_url() appelle get_home_url() lit l'option home

  • get_bloginfo('wpurl') appelle site_url() appelleget_site_url()lit l'option siteurl

  • get_bloginfo('siteurl') et get_bloginfo('home') sont des arguments désapprouvés et renvoient get_bloginfo('url') (l'argument siteurl est mal documenté dans le Codex, il vaut ___wpurl, ce n'est pas dans le code actuel )

La différence est que ces deux chaînes de fonctions correspondent à des options différentes, qui sont généralement identiques.

Il serait plus approprié de comparer get_bloginfo('url') à get_home_url() ou get_bloginfo('wpurl') à get_site_url(). Ensuite, la réponse est que ces fonctions sont à différents niveaux dans la chaîne. Généralement, la fonction la plus profonde est: plus elle est flexible et moins la sortie des filtres passe.

19
Rarst

De 'wp-includes/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;

Alors:

  • get_bloginfo('home'), get_bloginfo('siteurl') et get_bloginfo('url') sont équivalents à l'appel de home_url() (notez également que l'utilisation des paramètres home et siteurl as pour les paramètres get_bloginfo est obsolète)
  • get_bloginfo('wpurl') est identique à appeler site_url()
3
anu

Découvrez les paramètres sur Codex:

get_site_url/get_bloginfo

1
MartinJJ

IIRC, la principale différence entre home_url()/get_site_url() et leurs analogues get_bloginfo() est que home_url()/get_site_url() renvoie le schéma http/https approprié, alors que get_bloginfo() ne le fait pas.

1
Chip Bennett