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


11

Je développe un plugin.

Je veux savoir la différence entre

get_bloginfo('url');  

et

get_site_url();

J'ai la même sortie, alors quelle est la différence?

Réponses:


19
  • get_bloginfo('url')appels home_url()appels get_home_url()lit l'optionhome

  • get_bloginfo('wpurl')appels site_url()appels get_site_url()lit l'optionsiteurl

  • get_bloginfo('siteurl')et get_bloginfo('home')sont des arguments obsolètes et retournent get_bloginfo('url')(l' siteurlargument est incorrectement documenté dans Codex wpurl, il n'est pas dans le code actuel )

La différence est que ces deux fonctions fonctionnent avec des options différentes, qui sont généralement les mêmes.

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 de la chaîne. Généralement, la fonction la plus profonde est - plus elle est flexible et moins la sortie des filtres passe.


3

À partir 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;

Donc:

  • get_bloginfo('home'), get_bloginfo('siteurl')Et get_bloginfo('url')sont équivalents à appeler home_url()(note également que l'utilisation de la maison et siteurl en tant que paramètres de get_bloginfo est dépréciée)
  • get_bloginfo('wpurl') équivaut à appeler site_url()

get_bloginfo('siteurl')est obsolète depuis longtemps et est actuellement identique à get_bloginfo('url')( home_url()). Il serait plus logique que ce soit égal à get_bloginfo('wpurl')( site_url()) mais pour une raison quelconque, ce n'est pas le cas. Je vois que Codex dit le contraire, eh bien - le code est différent de la documentation. Source .
Rarst

ok ... intéressant et déroutant. éditer ma réponse après avoir regardé le code!
Anu


1

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


Incorrect, get_bloginfo()appelle simplement site_url()/ home_url()fonctions et renverra le schéma approprié comme ils le font.
Rarst

Oh bien! On dirait que ça a changé depuis la dernière fois que j'ai regardé general-template.php. :)
Chip Bennett
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.