Tag-Liste aus einer bestimmten Kategorie – WordPress

Lesezeit: 4 Minuten

Benutzer-Avatar
chasthesunnn

Ist diese Funktion in WordPress integriert? Ich habe nichts im Codex gesehen.

codex.wordpress.org/Function_Reference/wp_tag_cloud

Ich habe ein paar Seiten, die kategoriespezifisch sind, und ich möchte alle mit diesen Posts verknüpften Tags anzeigen.

Ich habe das gefunden, aber ich bin mir nicht sicher, ob es richtig ist oder ob es einen besseren Weg gibt (Quelle)(alte Methode!!!!):

<?php
    query_posts('category_name=html');
    if (have_posts()) : while (have_posts()) : the_post();
        $posttags = get_the_tags();
        if ($posttags) {
            foreach($posttags as $tag) {
                $all_tags_arr[] = $tag -> name;
            }
        }
    endwhile; endif; 

    $tags_arr = array_unique($all_tags_arr);
?>
    <ul>
<?php
    foreach($tags_arr as $tag){
        echo '<li>'.$tag.'</li>';
    }
?>
</ul>
<?php wp_reset_query(); ?>

UPDATE (vereinfacht):::

Um eine Liste von Tags aus einer bestimmten Kategorie zu erstellen, ist dieser Code viel besser (ändern Sie einfach den Kategorienamen):

::Kürzlich wieder aktualisiert wegen Schleifenfehler::

    <ul>
                <?php
                    query_posts('category_name=html');
                    if (have_posts()) : while (have_posts()) : the_post();

                        if( get_the_tag_list() ){
                            echo $posttags = get_the_tag_list('<li>','</li><li>','</li>');
                        }

                    endwhile; endif; 

                    wp_reset_query(); 
                ?>
</ul>

Auch wenn ich vielleicht eine Lösung habe, aktualisieren Sie diese bitte, wenn eine neue kommt.

  • Und wie kann man das zB in die Sidebar integrieren? Können Sie die Schritte genauer beschreiben, wo Sie den Code einfügen müssen usw.? Vielen Dank!

    Benutzer761934

    19. Mai 2011 um 23:50 Uhr

  • Das einzige, worauf sich das unterste Code-Bit stützt, ist der von Ihnen eingegebene category_name. Sie können ihn an beliebiger Stelle einfügen. Wenn Sie möchten, dass eine Tag-Liste aus EINER Kategorie angezeigt wird, geben Sie den Kategorienamen dort ein, wo „html“ steht, und fügen Sie ihn an einer beliebigen Stelle ein.

    – chasthesunnn

    25. Mai 2011 um 21:58 Uhr

  • Dabei werden Duplikate nicht ignoriert. Es zeigt das Tag jedes Mal, wenn es in einem Beitrag erscheint. Kennt jemand eine Möglichkeit, Duplikate zu ignorieren und nur eindeutige Tags anzuzeigen?

    – Nick

    22. Februar 2016 um 17:24 Uhr

Ich denke, die Methode, die Sie gefunden haben, ist die einzige Möglichkeit, das zu erreichen, wonach Sie suchen. Vielleicht können Sie einige Zeilen ändern, aber das Konzept ist richtig.

Im Moment glaube ich nicht, dass es eine Möglichkeit gibt, Tags zu filtern, wie Sie es mit einer WordPress-Kernfunktion tun würden.

  • Es ist lustig, denn auf meiner Suche nach einer Antwort haben die Leute diese Frage bereits vor 3 Jahren gestellt (in den WordPress-Foren). Weiß nicht, warum sie es noch nicht aufgenommen haben. naja, das geht schon

    – chasthesunnn

    16. März 2011 um 19:08 Uhr


  • Vielleicht nur, weil es dringendere Dinge zu tun gibt. Wenn mit 8 Zeilen Code etwas erreicht werden kann, ist das so in Ordnung.

    – bluantinoo

    17. März 2011 um 12:15 Uhr


  • Ich habe es geschafft, den Code mit einer WordPress-Funktion zu verkürzen, die ich gefunden habe. es sieht etwas besser aus. Ich habe die Frage aktualisiert

    – chasthesunnn

    18. März 2011 um 22:38 Uhr

Ich habe den obigen Code nicht erhalten, um mit meiner Installation von WordPress zu arbeiten. Ich habe es jedoch geschafft, es zu optimieren, bis es funktionierte. Hier ist mein Tweak:

$catid = get_cat_ID(single_cat_title("",false));
$catobj = get_category($catid);
$catslug = $catobj->slug;
$all_tags_arr = array();
query_posts('category_name=".$catslug);
if (have_posts()) : while (have_posts()) : the_post();
    $posttags = get_the_tags();
    if ($posttags) {
        foreach($posttags as $tag) {
            $all_tags_arr[] = $tag -> term_id;
        }
    }
endwhile; endif; 

$tags_arr = array_unique($all_tags_arr);

$tagcloud_args = array(
    "include'   =>  implode(',',$tags_arr),
);

wp_tag_cloud( $tagcloud_args ); 
wp_reset_query();

Hier ist ein viel einfacheres Beispiel … Ändern Sie einfach den Kategorienamen und schwupps, fertig. Die zugeordneten Tags werden in einem Listenformat ausgedruckt.

<?php query_posts('category_name=html'); if (have_posts()) : while (have_posts()) : the_post();

    $posttags = get_the_tags();

    if ($posttags) {
        foreach($posttags as $tag) {
            $all_tags[] = $tag -> name;
        }
    }
    endwhile; endif; 

    //This snippet removes any duplicates.
    $tags_unique = array_unique($all_tags); 

    echo '<ul>';
        foreach($tags_unique as $unique) {
          echo  '<li>'.$unique.'</li>';
        }
    echo '</ul>';

    wp_reset_query();

?>

Benutzer-Avatar
Muhammad Rizwan

Installieren Sie zunächst das ACF-Plugin und erstellen Sie ein Taxonomiefeld. Nachdem Sie den folgenden Code hinzugefügt haben, wo Sie die Tags anzeigen möchten.

$queriedObj = get_queried_object(); 
$taxonomy = $queriedObj->taxonomy;
$term_id = $queriedObj->term_id;  

$current_tags = get_field('category_tags', $taxonomy . '_' . $term_id); //category_tags = ACF fieldname

if ( $current_tags ) {
  echo '<ul>';
  foreach ( $current_tags as $term ) {
      echo '<li>';
      echo '<a href="/product-tag/' . $term->slug . '">';
      echo $term->name;
      echo '</a>';
      echo '</li>';
  }
  echo '</ul>';
}
else{
    echo '<ul>';
    echo '<li>No Tag.</li>';
    echo '</ul>';
}

1371160cookie-checkTag-Liste aus einer bestimmten Kategorie – WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy