According with Wordpress: category page not for post's. I use wordpress to create web sites for flash games, so I don't have certain page for post's. I add each game by post-new.php?post_type=game and u can see it's not the regular post for wordpress. Now I try make the same for tags, but stuck again. what I have now:

<?php
if (is_page() ) {
$tag = get_post_meta($posts[0]->ID, 'tag', true);
}
if ($tag) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$post_per_page = 4; // -1 shows all posts
$do_not_show_stickies = 1; // 0 to show stickies

$args=array(
'post_type' => 'game',
'tag__in' => array($tag),
'orderby' => 'date',
'order' => 'DESC',
'paged' => $paged,
'posts_per_page' => $post_per_page,
);
$temp = $wp_query;  // assign orginal query to temp variable for later use   
$wp_query = null;
$wp_query = new WP_Query($args); 
if( have_posts() ) : 
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
 <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?    php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    <div class="entry">
      <?php the_content('Read the rest of this entry »'); ?>
    </div>
    <p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Category in <?php the_category(', ') ?> |</p>
  </div>
<?php endwhile; ?>
<div class="navigation">
  <div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
  <div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
</div>
<?php else : ?>

<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn't here.</p>
<?php get_search_form(); ?>

 <?php endif; 

 $wp_query = $temp;  //reset back to original query

}  // if ($tag)

Basicly, I've just change '$cat' for '$tag' according with codex, but I have only page with search form from here

 <h2 class="center">Not Found</h2>
 <p class="center">Sorry, but you are looking for something that isn't here.</p>
 <?php get_search_form(); ?>

and don't nave any game for certain tags?

link|improve this question

feedback

2 Answers

category__in is a category parameters. use tag__in instead:

$args=array(
  'post_type' => 'game',
  'tag__in' => array($tag),
  'orderby' => 'date',
  'order' => 'DESC',
  'paged' => $paged,
  'posts_per_page' => $post_per_page,
);
link|improve this answer
Sorry, I've forgot to remark it. I do it this way, but still no succeed. – glazsasha Oct 21 '10 at 15:59
feedback
up vote 0 down vote accepted

I've solved my task! 'begin_roundblock' and 'end_roundblock' are my functions for making blocks to games. 'cols' and 'rows' are number columns rows and rows for games.

if ($tag) {
    $cols = 9;
    $rows = 5;
    $paged = (('paged')) ? get_query_var('paged') : 1;
    $post_per_page = $cols * $rows; // -1 shows all posts
    $do_not_show_stickies = 1; // 0 to show stickies

$args=array(
    'post_type' => 'game',
    'tag' => $tag,
    'orderby' => 'date',
    'order' => 'DESC',
    'paged' => $paged,
    'posts_per_page' => $post_per_page,
    'caller_get_posts' => $do_not_show_stickies
            );

$wp_query = new WP_Query($args);
begin_roundblock(urldecode($tag), 'games-pages-tag', null);
if( have_posts()) :
    echo '<div class="games-list-block-content">';
    $i = 0;
    while (have_posts())
    {
        the_post();

        $class = 'game-info';
        if ($i % $cols == 0)
            $class .= ' clear';

        echo '<div class="'.$class.'"><a href="'.get_permalink().'">';
        the_post_thumbnail(array(60, 60), array('class' => 'game-icon'));
        $title = get_the_title();
        if (mb_strlen($title) > 10)
            $title = mb_substr($title, 0, 7).'...';
        echo '<span class="game-title">'.$title.'</span></a></div>';
        $i++;
    } ?>
    <div class="navigation clear game-info-last-row">
      <span class="alignleft"><?php next_posts_link('« Older Entries') ?></span>
      <span class="alignright"><?php previous_posts_link('Newer Entries »') ?></span>
    </div>
  </div>
<?php else: ?>
    <h2 class="center">Not Found</h2>
    <p class="center">Sorry, but you are looking for something that isn't here.</p>
    <?php get_search_form(); ?>
<?php endif;
end_roundblock();
}

?>

link|improve this answer
If you're modifying the original query, you should use wp_reset_query() at the end. – kaiser Feb 13 '11 at 15:32
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.