get_template_directory () vs bloginfo ('template_directory') vs TEMPLATEPATH

16

Ich habe diesen Artikel gelesen: Häufige Fehler bei der WordPress-Entwicklung und wie man sie behebt. Darin sagt der Autor:

Abrufen des Speicherorts des Themas: Wenn Sie TEMPLATEPATH oder bloginfo ('template_directory') verwenden. Halt! Sie sollten das sehr nützliche get_template_directory () verwenden, wie in meinen obigen Beispielen gezeigt.

Aber er geht nicht weiter darauf ein. Was ist so schlimm daran bloginfo()?

coopersita
quelle

Antworten:

17

Um es kurz zu machen: get_bloginfo( 'template_directory' )und get_bloginfo( 'template_url' )einfach zurück get_template_directory_uri().

Sie können diesen zweiten Aufruf also abkürzen, indem Sie direkt auf das letztgenannte Template-Tag verweisen.

Siehe Quelle fürget_bloginfo() .

Ein paar andere:

  • 'url' => home_url()
  • 'wpurl' => site_url()
  • 'stylesheet_url' => get_stylesheet_uri()
  • 'stylesheet_directory' => get_stylesheet_directory_uri()
  • 'locale' => get_locale()

Bearbeiten

Beachten Sie auch: TEMPLATEPATHund STYLESHEETPATHsind für deprecation geplant , so dass Sie besser gestellt sind sie einfach zu ersetzen jetzt mit get_template_directory()und get_stylesheet_directory()sind.

Bearbeiten 2

Betreff: dieser Kommentar

Genau das, was ich gerade sagen wollte :). Ich würde hinzufügen, dass get_template_directory()der Pfad und get_template_directory_uri()die URL zurückgibt . Der Autor ist also nicht konsequent: get_bloginfo( 'template_directory' )und gibt get_template_directory()verschiedene Dinge zurück!

Siehe zurück zur Quelle :)

case 'template_directory':
case 'template_url':
    $output = get_template_directory_uri();
    break;

Betreff: dieser Kommentar:

Die einzige Einschränkung beim Entwickeln von untergeordneten Themen, die Sie get_stylesheet_directory()explizit verwenden müssen. Jemand korrigiert mich, wenn ich falsch liege.

Stimmt, aber das war schon immer so. get_bloginfo()gibt nichts zurück, was mit in Verbindung steht get_stylesheet_directory(). Es kommt nur get_stylesheet_uri()und zurück get_stylesheet_directory_uri().

Chip Bennett
quelle
Die einzige Einschränkung beim Entwickeln von untergeordneten Designs ist, dass Sie get_stylesheet_directory () explizit verwenden müssen. Jemand korrigiert mich, wenn ich falsch liege.
Steve
Vielen Dank! Ich frage mich nur, warum WP so viele dieser Funktionen hat, die nur eine andere Funktion aufrufen, dass wir sie dann nicht verwenden sollen ...
coopersita
In diesem Fall denke ich, dass der Grund einfach darin besteht, die Abwärtskompatibilität zu den get_bloginfo()Parametern aufrechtzuerhalten .
Chip Bennett