Anmelden oder neues Benutzerkonto anlegen.
Doku » Wie man Parameter an Tags übergibt
Inhaltsverzeichnis |
[bearbeiten] Einführung
Template tags sind PHP-Funktionen die in WordPress-Templates eingebettet werden können um dynamische Bloginhalt zu erstellen. Vergleichsweise wie PHP-Funktionen akzeptieren viele Template Tags Argumente oder Parameter. Template-Tag-Parameter sind Variablen, die du benutzen kannst um den Output eines Tags zu ändern oder anderweitig zu modifizieren. Denke dabei einfach an Einstellungen die es dir ermöglichen die Funktionsweise des Template Tags deinen Wünschen anzupassen.
Die WordPress-Template-Tags gibt es in drei verschiedenen "Geschmacksrichtungen". Sie lassen sich wie folgt beschreiben:
[bearbeiten] Tags ohne Parameter
Einige Template Tags haben keine zusätzlichen Optionen und man kann ihnen demnach keinen Parameter anhängen.
Das Template Tag the_author_firstname() ist ein solcher Tag welcher keine Parameter akzeptiert. Dieser Tag zeigt lediglich den Vornamen des Autors eines Artikels oder einer Seite an. Bei Tags ohne Parameter sollte sich nichts in den runden Klammern befinden.
<?php the_author_firstname(); ?>
[bearbeiten] Tags mit PHP function-style Parametern
Einige der Template Tags, die Parameter akzeptieren, müssen sich im Standard-PHP-Stil befinden. Hierbei werden die Parameter einer Funktion übergeben, indem ein oder mehrere Werte in den runden Klammern stehen.
Das bloginfo() Tag akzeptiert einen Parameter (den sog. show Parameter), der angibt, welche Information bezüglich deines Blogs wiedergegeben werden soll:
<?php bloginfo('name'); ?>
Das wp_title() Tag akzeptiert zwei Parameter: Als erstes der sep bzw. Trenn Parameter und als zweites der echo bzw. der Ausgabeparameter.
<?php wp_title(' - ', TRUE); ?>
Der erste Parameter ist in einfache Anführungszeichen eingebettet, der Zweite hingegen nicht. Grund hierfür ist der Unterschied der beiden Parameter. Der erste Parameter wird als string bezeichnet und Zweiter als boolean (boolesch) Parameter. (Siehe Parametertypen für weitere Infos bezüglich der verschiedenen Parametertypen und wie sie angewandt werden.)
Wichtige Punkte die bei der Nutzung von Template Tags (bzw. PHP-Funktionen) berücksichtigt werden müssen:
- Einige Funktionen erfordern mehrere Parameter.
- Bei mehreren Parametern wird ein Komma zur Trennung benutzt.
- Die Reihenfolge der Parameter ist wichtig!
Wenn die Parameter für die Funktion des Template Tags vergeben werden, gebe sicherheitshalber für alle Parameter die entsprechenden Werte an, um später auch die korrekte Funktionalität des Tags zu gewährleisten. Als Beispiel: Der Tag get_archives() hat sechs Parameter:
<?php get_archives('type', 'limit', 'format', 'before', 'after', show_post_count); ?>
Um die Liste des Archivs also deinem Geschmack nach anzuzeigen, musst du beispielsweise nur den dritten (format) und fünften (after) Parameter ändern. Um das zu machen, musst du aber auch die Standardwerte für den ersten, zweiten und vierten Wert eintragen:
<?php get_archives('', '', 'custom', '', '<br />'); ?>
Es werden also zwei einfache Anführungszeichen ('') benutzt um leere Parameterwerte anzugeben, was in diesem Beispiel dazu führt, dass die Standardwerte des jeweiligen Parameters benutzt werden. Sei dir bewusst, dass Standards überschrieben werden können, z.B. wenn eine Template-Tag-Funktion einen String (Zeichenkette) erwartet und du eine leere Zeichenkette übergibst. Ausserdem ist es nicht möglich einen boolean (boolesch) Wert zu umgehen. Schaue also in der Dokumentation nach den Standardwerten eines Parameters und wenn einer gegeben ist benutze ihn als Parameterwert (Siehe auch Parametertypen für weitere Infos bezüglich der Parametertypen). Der sechste Parameter wurde ausgelassen, weil WordPress den Standardwert für die übrigen, nicht spezifizierten Parameter verwendet.
Beachte die Dokumentation eines Template Tags und platziere die Parameter so wie es für die Funktion auch vorgesehen ist. Um alle Standardwerte des Template Tags zu verwenden, verwende den Tag ohne angegebene Parameterwerte:
<?php get_archives(); ?>
[bearbeiten] Tags mit query-string-style Parametern
Der letzte Template-Tag-Typ macht vom sogenannten query-string (Abfragezeichenkette oder Abfrageausdruck) Gebrauch. Diese bieten einen bequemen 'wrapper' (wort-wörtlich eine Hülle) für die Tags, die den PHP function parameter style benutzen und eine relativ große Anzahl an Parametern besitzen. Zum Beispiel, der Tag wp_list_cats() dient als Hülle für bzw. Alternative zum list_cats() Tag, ein Tag mit sage und schreibe 18 Parametern!
Wenn du den exclude Parameter in list_cats() definieren möchtest (an siebzehnter Stelle der Parameterliste) musst du folgendes verwenden:
<?php list_cats(TRUE, 'All', 'ID', 'asc', '', TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, '', '', FALSE, '', '', '10,11,12'); ?>
Oder du kannst wp_list_cats() benutzen:
<?php wp_list_cats('exclude=10,11,12'); ?>
So sind query-string Tags also nützlich wenn du nur die Werte der Parameter ändern möchtest, die du brauchst. Dabei musst du nicht alle bzw. gar keine Angaben zu den übrigen Parametern machen. Nicht alle PHP function-style Template Tags haben einen äquivalenten query-string Template Tag. (Beachte auch, dass die Namen der Tags die query-string style Parameter akzeptieren in den meisten Fällen mit 'wp_' beginnen, so wie wp_list_cats(). Informiere dich trotzdem über bestimmte Tags bezüglich der Parameterakzeptanz in der Doku bevor du ihn verwendest.)
Der Tag wp_list_authors() hat sechs Parameter, wovon wir nun drei festlegen:
<?php wp_list_authors('show_fullname=1&feed=rss&optioncount=1'); ?>
Erstens, alle Parameter befinden sich in einem Paar aus einfachen oder doppelten Anführungszeichen. Dann wird jeder Parameter anhand des parameter=value Formats eingegeben, wohingegen diese mit einem "kaufmännischem Und" (&) getrennt werden. Der obige Tag sieht getrennt folgendermaßen aus:
- Parameter show_fullname (ein Parameter des Typs boolean (boolesch)) gleich
1(true bzw. wahr).
- UND
- Parameter feed (ein Parameter des Typs string) gleich
rss.
- UND
- Parameter optioncount (ein Parameter des Typs boolean (boolesch)) gleich
1(true bzw. wahr).
- Parameter show_fullname (ein Parameter des Typs boolean (boolesch)) gleich
(Siehe Parametertypen für Informationen bezüglich Parametertypen und wie diese benutzt werden.)
Parameter im query-string müssen in keiner besonderen Reihenfolge eingegeben werden. Die einzigen Bedenken gibt es bei der korrekten Schreibweise der jeweiligen Parameternamen. Diese sollten schon richtig buchstabiert werden. Sollte die Lesbarkeit ein Problem darstellen, können die Parameter mit einem Leerzeichen getrennt werden:
<?php wp_list_authors('show_fullname=1 & feed=rss & optioncount=1'); ?>
Du kannst einen query-string auch auf mehrere Zeilen hin verteilen (Beachte aber dabei das Format; so dass jeder Parameter in einfache Anführungszeichen und vor Beginn einer neuen Zeile jeweils ein Punkt steht):
<?php wp_list_authors( 'show_fullname=1' .'&feed=rss' .'&optioncount=1' ); ?>
Es gibt einige Beschränkungen bei der Nutzung von query-string Tags. Dazu zählt, dass einige Zeichen wie z. B. das kaufmännische Und sowie einfache und doppelte Anführungszeichen nicht weitergereicht werden können. In diesen Fällen musst du das äquivalent function-style Tag benutzen.
[bearbeiten] Parametertypen
Es gibt drei Typen von Parametern die du im Zusammenhang mit den WordPress Template Tags kennen solltest: string, integer und boolean. Jeder wird wie unten beschrieben anders gehandhabt.
[bearbeiten] String
Ein String bezeichnet eine Zeile Text und kann aus einem oder mehreren Wörtern bestehen. Ein String-Parameter ist oftmals eine Auswahl aus zwei oder mehreren gültigen Optionen, wie im show Parameter im bloginfo() Tag. Andererseits ist der String als Text gedacht, der angezeigt wird, so wie der sep Parameter im wp_title() Tag.
In Tags die den PHP function parameter style benutzen, sollten sich die Stringwerte in einfache oder doppelte Anführungszeichen befinden. Wenn ein einfaches oder doppeltes Anführungszeichen für deinen String notwendig ist, kannst du die Anführungszeichen mischen (z.B. doppelte Anführungszeichen um die Parameter einzubinden und einfache Anführungszeichen im Parameterwert). Eine weitere Möglichkeit ist der PHP "escape character" (ein linksseitiger Schrägstrich bzw. Backslash: \) wie im Beispiel des the_title() Tags wo einfache Anführungszeichen den before und after Parametern zogeordnet werden:
<?php the_title('\'', '\''); ?>
[bearbeiten] Integer
Ein Integer ist eine ganze Zahl und kann aus einem positiven (1, 2, 3) oder negativen (-1, -2, -3) Wert bestehen. Integer-Parameter werden in den meisten Fällen für Datums- und Archivinformationen verwendet, wie year und month Parameter für das get_month_link() Tag oder zur Spezifizierung eines numerischen Wertes in deinem Blog wie z. B. beim id Parameter im get_permalink() Tag.
Wenn ein integer im PHP function parameter style Tag behandelt wird, kann er innerhalb oder außerhalb der Anführungszeichen stehen. So sind die folgenden Beispiele korrekt:
<?php get_permalink('100'); ?>
<?php get_permalink(100); ?>
[bearbeiten] Boolean
Der Boolean Parameter zeigt schlicht eine wahr/falsch (true/false) Auswertung.
Zum Beispiel hat das the_time() Tag einen display Parameter der entweder TRUE oder FALSE als Wert annimmt. Wird der Wert auf TRUE gesetzt wird die Zeit auf der Seite angezeigt, wohingegen FALSE die Zeit als Wert "wiedergibt" welches dann in anderem PHP Code verwendet werden kann.
Ein boolean Parameter kann auch als numerischer Wert angegeben werden: 1 für TRUE, 0 für FALSE. Als boolean Parameter sind folgende im PHP function parameter style Tag zulässig:
-
1=TRUE=true -
0=FALSE=false
-
Boolean Werte dürfen aber NICHT in Anführungszeichen stehen. Für query-string style Tags dürfen nur numerische boolean Werte benutzt werden (1 oder 0).