get custom post type by tag

Is it possible to retrieve post entry for a custom post type by tag, I have been trying with the following code, however it just locks me into a infinte loop.

<aside class="supporting_images">
    <?php /*<?php if($post->ID == 241) : echo apply_filters('the_content', '[slideshow=3]'); endif;  ?>
    <?php the_post_thumbnail(); ?>*/?>

    <?php if($post->ID == 241) : ?>
        <?php
            $query = new WP_Query();
            $query->query('tag=branding');
        ?>
        <?php while ($query->have_posts()) : ?>
            hello
        <?php endwhile; ?>
    <?php endif;?>

Related posts

Leave a Reply

3 comments

  1. You’ll need to setup the post for the query by changing the following line to get rid of the infinite loop.

    <?php while ($query->have_posts()) : $query->the_post(); ?>

    If your looking for a custom post type, you’ll need to specify that in the query arguments:

    <?php $query = new WP_Query( array( "post-type" => "yourposttype", "tag" => "branding" ) ); ?>

    You can see most (if not all) of the query parameters in the codex. http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

  2. Use tag_slug__in not tag (#REF)

    Example :

    $query = new WP_Query(array(
       'post_status' => 'publish',
       'post_type' => 'your-posttype', // or 'any'
       'tag_slug__in' => 'your-tag',
       'posts_per_page' => -1
    ));
    

    Step : Filter by Post-type then filter by Tag

    Another answers “Filter by Post-type and filter by Tag”

  3. To avoid infinite loop, you need to loop over resulting posts:

    <?php
    $query = new WP_Query(
        array( "post_type" => "yourposttype", // not "post-type" !
               "tag" => "branding"
        ) );
    while ($query->have_posts()) : $query->the_post(); ?>
        Hello
    <?php endwhile; ?>