Wie erstelle ich eine WordPress-Seite, auf der Posts mit bestimmten Tags angezeigt werden?

Wie der Titel sagt, welchen Code würde ich auf einer WordPress-Seite verwenden, sodass nur Posts mit einem bestimmten Tag angezeigt werden?

Solutions Collecting From Web of "Wie erstelle ich eine WordPress-Seite, auf der Posts mit bestimmten Tags angezeigt werden?"

Ich bin mir ziemlich sicher, dass ich hier immer gelesen habe, dass new WP_Query() gegenüber query_posts empfohlen query_posts . Darüber hinaus können Sie die Transient-API verwenden , um die performance bei zusätzlichen Abfragen zu verbessern. Fügen Sie diese Vorlage in die Vorlage ein, in der die Liste angezeigt werden soll:

 // Get any existing copy of our transient data if ( false === ( $my_special_tag = get_transient( 'my_special_tag' ) ) ) { // It wasn't there, so regenerate the data and save the transient // params for our query $args = array( 'tag' => 'foo' 'posts_per_page' => 5, ); // The Query $my_special_tag = new WP_Query( $args ); // store the transient set_transient( 'my_special_tag', $my_special_tag, 12 * HOUR_IN_SECONDS ); } // Use the data like you would have normally... // The Loop if ( $my_special_tag ) : echo '
    '; while ( $my_special_tag->have_posts() ) : $my_special_tag->the_post(); echo '
  • ' . get_the_title() . '
  • '; endwhile; echo '
'; else : echo 'No posts found.'; endif; /* Restore original Post Data * NB: Because we are using new WP_Query we aren't stomping on the * original $wp_query and it does not need to be reset. */ wp_reset_postdata();

Und in Ihrer function.php müssen Sie die Transienten löschen, wenn die Dinge aktualisiert werden:

 // Create a function to delete our transient when a post is saved or term is edited function delete_my_special_tag_transient( $post_id ) { delete_transient( 'my_special_tag' ); } add_action( 'save_post', 'delete_my_special_tag_transient' ); add_action( 'edit_term', 'delete_my_special_tag_transient' ); 

Verwenden Sie vor der Schleife die function query_posts

 query_posts( 'tag=foo' ); 

Dadurch werden alle Posts mit dem zugewiesenen Tag zurückgegeben.

 < ?php // retrieve post with the tag of foo query_posts( 'tag=foo' ); // the Loop while (have_posts()) : the_post(); the_content( 'Read the full post »' ); endwhile; ?> 

Sie können damit auch Posts mit mehreren Tags zurückgeben

 query_posts( 'tag=foo,bike' ); 

Weitere Informationen finden Sie unter http://codex.wordpress.org/Class_Reference/WP_Query#Parameters http://codex.wordpress.org/Function_Reference/query_posts