Zeigen Sie benutzerdefinierte Tags auf Seiten mit einem bestimmten übergeordneten Element an

Ich möchte die Methode WP_Query oder Query_Posts verwenden.

Ich verwende derzeit die query_post-Methode.

$terms_array = array(); if ($strurl == "somesite.com"){ $resparent = "18219"; //Page ID $nocat = "-2,-4,-5,-6,-1014,-875,-25,-301"; //Omitted Pages ID } query_posts('post_type=page&posts_per_page=500&taxonomy=guidance&cat='.$nocat.''); if ( have_posts() ) : while ( have_posts() ) : the_post(); $terms = get_the_terms($post->ID, 'post_tag'); foreach ( $terms as $term ) { if (strlen($term->slug) >1){ $terms_array[] = $term->slug.",".$term->name ; } } endwhile; wp_reset_postdata(); wp_reset_query(); endif; 

Diese Methode scheint nicht zu funktionieren.

Grundsätzlich möchte ich, dass meine Taxonomie-Tags nur dann angezeigt werden, wenn sie auf einer Seite mit einem bestimmten Elternelement markiert sind.

Solutions Collecting From Web of "Zeigen Sie benutzerdefinierte Tags auf Seiten mit einem bestimmten übergeordneten Element an"

Von dem, was ich verstehe, haben Sie eine Schleife, die bis zu 500 Seiten anzeigt. Wenn der Seitenparent = 18219 ist, möchten Sie die Tags für diese Seite abfragen. Soweit ich weiß, erlaubt Ihnen WP standardmäßig nicht, Seiten, nur Posts zu taggen. Aber lassen Sie uns so tun, als hätten Sie ein Plugin, mit dem Sie das tun können … Innerhalb Ihrer Schleife können Sie überprüfen, ob auf der Seite ein Elternteil vorhanden ist, das der ID entspricht, nach der Sie suchen.

  //Check if this page has a parent equal to $resparent if($post->post_parent == $resparent){ $terms = get_the_terms($post->ID, 'post_tag'); foreach ( $terms as $term ) { if (strlen($term->slug) >1){ $terms_array[] = $term->slug.",".$term->name ; } } }