Sidr
PSD-Tutorials.de

[WP] Erstes Schlagwort in Template ausgeben

Dieses Thema im Forum "WordPress" wurde erstellt von rakader, 30.03.2012.

  1. rakader

    rakader Watmahatdahatma

    Dabei seit:
    10.06.2008
    Beiträge:
    399
    Geschlecht:
    männlich
    Ort:
    Sibiu
    Software:
    Redaktionsmanagement
    Kameratyp:
    Mittelformat, Nikon
    [WP] Erstes Schlagwort in Template ausgeben
    Ich habe hier folgenden Code, der das erste Schlagwort im Template an verschiedenen Stellen (home.php; page.php) ausgeben soll. Problem: Es wird nichts angezeigt. Hat jemand eine Ahnung, einen Tip, wo der Hase im Pfeffer liegt?

    PHP:
    1. <?php $posttags = get_the_tags(); if ($posttags && (count($posttags) > 0)) {
    2.   $tag = $posttags[0];
    3.   print '<a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a>'; } ?>
    Vielen Dank vorab und Ostergrüße,
    Radulph
     
    #1      
  2. MyBad

    MyBad localhorst

    Dabei seit:
    18.12.2006
    Beiträge:
    1.946
    Geschlecht:
    männlich
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Schau mal hier:
    http://codex.wordpress.org/Function_Reference/get_the_tags

    Code (Text):
    1.  
    2. <?php
    3. $posttags = get_the_tags();
    4. $count=0;
    5. if ($posttags) {
    6.   foreach($posttags as $tag) {
    7.     $count++;
    8.     if (1 == $count) {
    9.       echo $tag->name . ' ';
    10.     }
    11.   }
    12. }
    13. ?>
    14.  
     
    #2      
  3. rakader

    rakader Watmahatdahatma

    Dabei seit:
    10.06.2008
    Beiträge:
    399
    Geschlecht:
    männlich
    Ort:
    Sibiu
    Software:
    Redaktionsmanagement
    Kameratyp:
    Mittelformat, Nikon
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Hallo MyBad,

    danach hatte ich auf den Codex-Seiten vergeblich gesucht. Es funktioniert perfekt. Vielen herzlichen Dank – Du löst damit drei Tage Grübeln in Wohlgefallen auf!
    (Ein Danke-Tag für besonders hilfreiche Antworten würden diesem Forum gut zu Gesicht stehen - somit per Text :))

    Edit: Falls Du Zeit und Laune hast - kannst Du erklären, was der Code genau macht? Interessiert vielleicht auch viele andere... (ganz steige ich da nicht durch, würde es aber gerne verstehen.)
     
    Zuletzt bearbeitet: 30.03.2012
    #3      
  4. MyBad

    MyBad localhorst

    Dabei seit:
    18.12.2006
    Beiträge:
    1.946
    Geschlecht:
    männlich
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Nichts zu danken. Freut mich, dass es hilft.

    Zum Code:
    Hier werden die Tags innerhalb einer foreach-Schleife ausgelesen aber nur der erste Eintrag wird auch ausgegeben. Dies passiert durch die Variable $count, die erst um 1 hochgezählt und dann abgefragt wird. Wenn die Variable $count = 1 ist, dann wird der Tag ausgegeben. Andernfalls erfolgt keine Ausgabe.
     
    #4      
  5. rakader

    rakader Watmahatdahatma

    Dabei seit:
    10.06.2008
    Beiträge:
    399
    Geschlecht:
    männlich
    Ort:
    Sibiu
    Software:
    Redaktionsmanagement
    Kameratyp:
    Mittelformat, Nikon
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Vielen herzlichen Dank für die Erläuterung. Genau das Hochzählen war der Punkt, der mich stutzig machte. Wird aber mit dem $count=0, der alle vorkommenden Tag ab 0 berücksichtigt, klar.

    Eine kleine ergänzende Frage hätte ich noch: Das ausgegebene Schlagwort soll auf die tag.php verlinken. Ich benötige also noch so etwas wie tag_link. Geht das mit Deinem Code?

    Viele Grüße
    Radulph
     
    #5      
  6. MyBad

    MyBad localhorst

    Dabei seit:
    18.12.2006
    Beiträge:
    1.946
    Geschlecht:
    männlich
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Also den Tag-Link müsstest du wie folgt herausbekommen:
    PHP:
    1.  
    2. echo get_tag_link($tag->term_id);
    3.  
    Einfach in die if-Abfrage hinzufügen.
     
    #6      
  7. rakader

    rakader Watmahatdahatma

    Dabei seit:
    10.06.2008
    Beiträge:
    399
    Geschlecht:
    männlich
    Ort:
    Sibiu
    Software:
    Redaktionsmanagement
    Kameratyp:
    Mittelformat, Nikon
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Klappt leider nicht - es wird der http-Pfad ausgegeben, indes unverlinkt.
     
    #7      
  8. MyBad

    MyBad localhorst

    Dabei seit:
    18.12.2006
    Beiträge:
    1.946
    Geschlecht:
    männlich
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Die Ausgabe musst du eigentlich wie in deinem ersten Versuch ausgeben. Dann sollte es so sein, wie du es benötigst.
     
    #8      
  9. rakader

    rakader Watmahatdahatma

    Dabei seit:
    10.06.2008
    Beiträge:
    399
    Geschlecht:
    männlich
    Ort:
    Sibiu
    Software:
    Redaktionsmanagement
    Kameratyp:
    Mittelformat, Nikon
    [WP] Erstes Schlagwort in Template ausgeben
    AW: [WP] Erstes Schlagwort in Template ausgeben

    Einfach ist gut ;) Es hat aber nach einigem Probieren geklappt. Dein Hinweis auf obiges Beispiel war die Lösung. Mir war nicht klar, dass ich den Aufruf in die Klammer nach dem if setzen musste.

    Aber jetzt ist es perfekt.

    Abermals vielen herzlichen Dank, v.a. für Deine Geduld!
     
    #9      
Drupal Programmierung