Was ist der Unterschied zwischen get_bloginfo ('url') und get_site_url ()?

11

Ich entwickle ein Plugin.

Ich möchte den Unterschied zwischen wissen

get_bloginfo('url');  

und

get_site_url();

Ich habe die gleiche Ausgabe, was ist dann der Unterschied?

IM-JM
quelle

Antworten:

19
  • get_bloginfo('url')Anrufe home_url()Anrufe get_home_url()liest Optionhome

  • get_bloginfo('wpurl')Anrufe site_url()Anrufe get_site_url()liest Optionsiteurl

  • get_bloginfo('siteurl')und get_bloginfo('home')sind veraltete Argumente und geben zurück get_bloginfo('url')( siteurlArgument ist im Codex falsch dokumentiert als gleich wpurl, es ist nicht im aktuellen Code )

Der Unterschied besteht darin, dass diese beiden Funktionsketten zu unterschiedlichen Optionen führen, die normalerweise gleich sind.

Es wäre angemessener, get_bloginfo('url')mit get_home_url()oder get_bloginfo('wpurl')zu vergleichen get_site_url(). Die Antwort lautet dann, dass sich diese Funktionen in der Kette auf verschiedenen Ebenen befinden. Je tiefer die Funktion ist, desto flexibler ist sie und desto weniger Filter werden ausgegeben.

Selten
quelle
3

Aus '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;

So:

  • get_bloginfo('home'), get_bloginfo('siteurl')Und get_bloginfo('url')ist äquivalent zu nennen home_url()(beachten Sie auch , dass die Verwendung von zu Hause und siteurl als get_bloginfo Parameter ist veraltet)
  • get_bloginfo('wpurl') ist das gleiche wie anrufen site_url()
anu
quelle
get_bloginfo('siteurl')lange veraltet ist und zur Zeit ist gleich wie get_bloginfo('url')( home_url()). Es wäre sinnvoller, wenn es gleich get_bloginfo('wpurl')( site_url()) wäre, aber aus irgendeinem Grund nicht. Ich sehe, dass Codex etwas anderes sagt: Code unterscheidet sich von Dokumentation. Quelle .
Erst
ok ... interessant und verwirrend. Ich bearbeite meine Antwort, nachdem ich mir den Code angesehen habe!
Anu
1

Schauen Sie sich die Parameter bei Codex an:

get_site_url / get_bloginfo

MartinJJ
quelle
Ich suche nach einem spezifischen Unterschied zwischen den beiden
IM-JM
Wenn Sie den Kodex überprüfen, können Sie bestimmte Unterschiede zwischen den beiden feststellen.
Anu
1

IIRC, der Hauptunterschied zwischen home_url()/ get_site_url()und ihren get_bloginfo()Analoga besteht darin, dass home_url()/ get_site_url()das richtige http / https-Schema zurückgibt, während get_bloginfo()dies nicht der Fall ist.

Chip Bennett
quelle
Falsch, get_bloginfo()ruft einfach site_url()/ home_url()Funktionen auf und gibt genau wie sie das richtige Schema zurück.
Erst
Oh ordentlich! Sieht so aus, als hätte sich das seit dem letzten Mal geändert general-template.php. :)
Chip Bennett