请首先让我解释一下我的问题。我使用wordpress为flash游戏创建网站,所以我没有特定的贴子页面post-new.php?post_type=game
你可以看到这不是wordpress的常规帖子。我尝试使用codex中的代码:
<?php
if (is_page() ) {
$category = get_post_meta($posts[0]->ID, \'category\', true);
}
if ($category) {
$cat = get_cat_ID($category);
$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(
\'category__in\' => array($cat),
\'orderby\' => \'date\',
\'order\' => \'DESC\',
\'paged\' => $paged,
\'posts_per_page\' => $post_per_page,
\'caller_get_posts\' => $do_not_show_stickies
);
$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>
<small><?php the_time(\'F jS, Y\') ?> <!-- by <?php the_author() ?> --></small>
<div class="entry">
<?php the_content(\'Read the rest of this entry »\'); ?>
</div>
<p class="postmetadata"><?php the_tags(\'Tags: \', \', \', \'<br />\'); ?> Posted in <?php the_category(\', \') ?> | <?php edit_post_link(\'Edit\', \'\', \' | \'); ?> <?php comments_popup_link(\'No Comments »\', \'1 Comment »\', \'% Comments »\'); ?></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 ($category)
?>
我认为它真的必须适用于帖子,但在这种情况下,我尝试为游戏更改帖子,尝试了很多方法,但还没有成功。谁能告诉我这个代码有什么变化吗?我认为一开始的问题是“have post”和“the loop”。谢谢
最合适的回答,由SO网友:sorich87 整理而成
在查询参数中添加“post\\u type”参数(\'post_type\' => \'game\'
):
<?php
if (is_page() ) {
$category = get_post_meta($posts[0]->ID, \'category\', true);
}
if ($category) {
$cat = get_cat_ID($category);
$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\',
\'category__in\' => array($cat),
\'orderby\' => \'date\',
\'order\' => \'DESC\',
\'paged\' => $paged,
\'posts_per_page\' => $post_per_page,
\'caller_get_posts\' => $do_not_show_stickies
);
$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>
<small><?php the_time(\'F jS, Y\') ?> <!-- by <?php the_author() ?> --></small>
<div class="entry">
<?php the_content(\'Read the rest of this entry »\'); ?>
</div>
<p class="postmetadata"><?php the_tags(\'Tags: \', \', \', \'<br />\'); ?> Posted in <?php the_category(\', \') ?> | <?php edit_post_link(\'Edit\', \'\', \' | \'); ?> <?php comments_popup_link(\'No Comments »\', \'1 Comment »\', \'% Comments »\'); ?></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 ($category)
?>
参考号:
http://codex.wordpress.org/Function_Reference/query_posts#Post_.26_Page_Parameters
SO网友:glazsasha
<?php
if (is_page() ) {
$cat = get_post_meta($posts[0]->ID, \'cat\', true);
}
if ($cat) {
$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\',
\'category__in\' => array($cat),
\'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 ($category)
?>