WordPress-Tags von einem bestimmten Beitrag anhand seiner ID abrufen?

Lesezeit: 2 Minuten

Ich habe überall gesucht und die API durchforstet. Alles, was mir einfällt, sind Möglichkeiten, POSTS anhand eines TAGs zu erhalten, aber nicht die TAGS eines SPEZIFISCHEN Beitrags anhand seiner ID.

Was ich versuche, ist ziemlich einfach – ich habe einen Beitrag und ich möchte überprüfen, ob er ein bestimmtes Tag hat – „specialtag“ – und dann etwas auf dieser Seite tun, wenn sie dieses Tag hat. Nichts scheint mich in die richtige Richtung zu weisen. Gibt es etwas, das ich nicht sehe?

Es ist einfach, Sie können verwenden get_the_tags funktionieren so:

KODEX: Die Funktion gibt ein Array von Objekten zurück, ein Objekt für jedes dem Beitrag zugewiesene Tag.

Beispiel 1:

Wenn Sie die Beitrags-ID haben, können Sie das mit dem Beitrag verknüpfte Tag mit diesem Code abrufen

$postid = $post->ID; 
get_the_tags($postid);

Beispiel 2:

Rufen Sie das Tag ab, das dem Beitrag innerhalb der Schleife zugeordnet ist

$posttags = get_the_tags();
if ($posttags) {
  foreach($posttags as $tag) {
    echo $tag->name . ' '; 
  }
}

Diese Funktion wird in The Loop verwendet, dann muss keine ID übergeben werden

Beispiel 3:

Rufen Sie das mit dem Post verknüpfte Tag außerhalb der Schleife ab

global $post;
   foreach(get_the_tags($post->ID) as $tag) {
      echo $tag->name . ', ';
   }

Benutzer-Avatar
Mathew Tinsley

get_the_tags ruft alle Tags für einen bestimmten Beitrag ab. Es kann eine Post-ID als Parameter zur Verwendung außerhalb der Schleife verwenden:

https://codex.wordpress.org/Function_Reference/get_the_tags

Wenn Sie nur feststellen möchten, ob ein Beitrag ein bestimmtes Tag hat, können Sie verwenden has_tag:

https://codex.wordpress.org/Function_Reference/has_tag

if( has_tag($tag_slug_or_id, $post_id_or_object) ) {
    //...
}

Wenn Sie Tags nach Post-ID erhalten müssen, können Sie die folgende Funktion verwenden. Dies funktioniert überall, da die Methode auf Datenbankabfragen basiert.

function sc_tf_get_tags_as_array($post_id){
    global $wpdb;
    $tbl_terms = $wpdb->prefix . "terms";
    $tbl_term_relationships = $wpdb->prefix . "term_relationships";

    $sql = "SELECT name FROM $tbl_terms WHERE term_id in (SELECT term_taxonomy_id FROM $tbl_term_relationships WHERE object_id='$post_id');";
    $results = $wpdb->get_results($sql);

    if($results){
        foreach($results as $row){
            $tags_list[] = $row->name;
        }
    }

    return $tags_list;
}

1158860cookie-checkWordPress-Tags von einem bestimmten Beitrag anhand seiner ID abrufen?

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

Privacy policy