Ich muss die URL meines Themenverzeichnisses abrufen, um auf ein Bild im Bild- / Kopfzeilenverzeichnis des Themas zu verweisen. Wie geht das in PHP?
theme-development
Michael Crenshaw
quelle
quelle
get_template_directory_uri()
Was @EAMann gesagt hat, mit einer Einschränkung. Eric hat Recht mit der allgemeinen Herangehensweise und der Funktionsweise
bloginfo()
undget_bloginfo()
der Übergabe des Parameters'template_directory'
, um den Wert zu erhalten, den Sie für (die meisten) Themen benötigen.Es gibt jedoch eine Einschränkung und diese Einschränkung gilt für die neueren untergeordneten Themen . Wenn Sie ein untergeordnetes Design verwenden,
'template_directory'
ist dies wahrscheinlich nicht das, was Sie möchten, es sei denn, Sie versuchen tatsächlich, auf ein Bild zu verweisen, das sich im übergeordneten Designverzeichnis befindet. Stattdessen möchten Sie für untergeordnete Themen wahrscheinlich Folgendes übergebenstylesheet_directory
(Ich weiß, ich weiß, die Namen sagen Ihnen nicht, was sie sind, aber hey, so ist das eben!) Etwas von Erics Antwort zu übernehmen,stylesheet_directory
würde so aussehen ( Ich habe das Beispiel gekürzt, damit es nicht umbrochen wird.Um den Punkt zu veranschaulichen, habe ich eine schnelle Standalone-Datei geschrieben, die Sie im Stammverzeichnis Ihrer Website ablegen
test.php
und ausführen können, um zu sehen, was sie ausgibt. Führen Sie zuerst ein reguläres Thema wie TwentyTen aus, und führen Sie dann ein untergeordnetes Thema aus:Wenn Sie Dinge bemerken, werden Sie vielleicht bemerken, dass es viel mehr gibt, an was Sie weitergeben können,
bloginfo()
undget_bloginfo()
; Lesen Sie den Code und den Screenshot unten, um Ideen zu erhalten.Auf dem Screenshot sehen Sie, dass dies
stylesheet_directory
dasselbe Ergebnis liefert wie'template_directory'
bei einem normalen Thema, jedoch mit einem anderen Wert und wahrscheinlich dem Wert, den Sie für ein untergeordnetes Thema benötigen.(Quelle: mikeschinkel.com )
Übrigens, falls Sie nicht mit untergeordneten Themen vertraut sind, wo sind zwei andere WordPress-Antworten, die helfen könnten:
quelle
get_stylesheet_directory_uri()
. Soll ich einfach ol 'verwendenget_stylesheet_directory()
?Die gesamte Struktur des Themas
template
basiert auf zwei Optionen - (übergeordnetes Thema, Ordnername) undstylesheet
(untergeordnetes Thema, Ordnername). Wenn kein untergeordnetes Thema verwendet wird, sind diese identisch.Um die Flexibilität von Filtern zu haben, anstatt direkt auf die Option zuzugreifen, gibt es dementsprechend
get_template()
undget_stylesheet()
.Jetzt fehlt nur noch die Verknüpfung mit dem Speicherort des Themenordners. Dies kann mit gemacht werden
get_theme_root_uri()
und wieder bequem in gewickeltget_template_directory_uri()
undget_stylesheet_directory_uri()
.[get_]bloginfo()
mittemplate_directory
oderstylesheet_directory
Argumente umschließen nur diese und es gibt wenig Grund, es so zu verwenden. Ich würde sagen, es ist nur verwirrend, wenn das Argument "Verzeichnis" lautet (bezieht sich normalerweise auf lokale Pfade), aber URLs zurückgibt.Summe:
get_template_directory_uri()
diese Option, um nur auf ein übergeordnetes Thema zu verweisenget_stylesheet_directory_uri()
um nur Kinder Themaquelle
ich benutze das
(dirname(get_bloginfo('stylesheet_url')))
quelle