Support » Fixing WordPress » Creating a list of posts with a certain tag

  • Resolved kevinmcp

    (@kevinmcp)



    I’d like to create an “In the News” page on my site, which would consist of a simple list of posts that I tag as “News”. How do I create this page so it automatically lists the date and title of all posts I created tagged as News?

Viewing 6 replies - 1 through 6 (of 6 total)
  • Why use a Page? Just use a Tag Cloud or the_tags and then when a user clicks on a tag it will render the posts in the tag using a Tag Template.

    But if you insist:

    <?php
    $args=array(
      'tag' => 'news',
      'post_type' => 'post',
      'post_status' => 'publish',
      'posts_per_page' => -1,
      'caller_get_posts'=> 1
    );
    $my_query = null;
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
      echo 'List of Posts';
      while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <p><?php the_time('m.d.y') ?> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
        <?php
      endwhile;
    }
    wp_reset_query();  // Restore global post data stomped by the_post().
    ?>

    You can query your page like this..
    example.com/?tag=tagslug

    Which should give you a list of posts with that tag..

    You can also control which template files deals with those results by creating a template file for that particular tag named tag-thetagslug.php , or tag-thetagID.php etc..

    See here for more info: http://codex.wordpress.org/Tag_Templates

    Does that help?

    EDIT: Or what michael said.. 😉

    Thanks guys, that helps. I like the simple page query (/?tag=mytag) but I want to see a list of the posts – like how a site such as Bloomberg has a list of latest headlines.

    Would Michael’s suggestion work that way? And forgive the dumb question, but where do I put the PHP code? Can I paste that in somewhere through the web interface? Thanks…

    The example i gave is just how you’d query for the page, WordPress should deal with the request and grab the matching posts for you automatically.

    When that happens, WordPress looks to see which template file to use according to the template hierarchy.
    http://codex.wordpress.org/Template_Hierarchy
    Visual aid: http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

    Let’s assume for the moment, WP can’t find a tag template and decides to use index.php from your theme. You may have a need to style this list/page differently then that of the index, in such cases you’d create a tag template so you can control the layout for tag queries without effecting the index layout.

    For simplicity you can copy the theme’s index.php and rename it, then make adjustments as necessary…

    Does that help?

    Thanks, that points me in the right direction. Will give it a whirl.

    Is there a plugin, that would arrange better these style templates for tags? It would be very annoying to have 100+ different templates in Appeariance > Editor :\ And same goes to categories.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Creating a list of posts with a certain tag’ is closed to new replies.