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

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


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
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.