Tags page not for post

时间:2010-10-21 作者:glazsasha

符合Wordpress: category page not for post\'s.我使用wordpress为flash游戏创建网站,所以我没有特定的贴子页面。我通过新贴子添加每个游戏。php?post\\u type=游戏,你可以看到这不是wordpress的常规帖子。现在我尝试对标签进行相同的处理,但再次卡住。我现在拥有的:

<?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)
基本上,我刚刚根据codex将“$cat”更改为“$tag”,但我只有一个带有搜索表单的页面

 <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(); ?>
不要为某些标签设置游戏导航?

2 个回复
最合适的回答,由SO网友:glazsasha 整理而成

我已经解决了我的任务!”begin\\u roundblock和end\\u roundblock是我制作游戏方块的功能“列”和“行”是游戏的数字列行和行。

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();
}
?>

SO网友:bangbambang

category__in 是一个类别参数。使用tag__in 而是:

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

结束

相关推荐