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?

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.


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()

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


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.