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?
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.
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()
Découvrez les paramètres sur Codex:
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.