哦哦!所以我添加了一个页面博客。php,代码如下:
<article>
<?php // Display blog posts on any page @ http://m0n.co/l
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query(\'showposts=5\' . \'&paged=\'.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>" title="Read more"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php endwhile; ?>
<?php if ($paged > 1) { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link(\'« Previous Posts\'); ?></div>
<div class="next"><?php previous_posts_link(\'Newer Posts »\'); ?></div>
</nav>
<?php } else { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link(\'« Previous Posts\'); ?></div>
</nav>
<?php } ?>
<?php wp_reset_postdata(); ?>
</article>
然后我转到我的页面或类别,选择要使用的模板。问题是,当我选择这个模板进入一个页面或类别时,它似乎抓住了我写过的每一篇文章,而不是我分配给特定类别的文章。
因此,我的wordpress设置为静态页面(如我的主页、联系人页面等),永远不会收到帖子。它们保持不变。然后,我有一些类别(就像页面一样)来获取我所有的帖子。我将每个帖子分配到一个类别,希望它们出现在其中。因此,如果我添加了一个新的配方,我会发表一篇新帖子,将其分配到“配方”类别,然后它会显示在该页面上。
然而,现在,有了这个代码和模板,我的每一篇帖子都会显示在我所有的分类页面上。
我需要改变什么?有没有更简单的方法来实现这一点?
非常感谢。
SO网友:Samuel Asor
根据WordPress模板层次结构,使用category.php
样板因此,在other中,要显示您的首选类别,您需要创建category.php
文件,并使用以下查询:
$cat_query = new WP_Query(
array(
\'post_type\' => \'post\',
\'cat\' => $cat, //WordPress global for getting the current category
\'posts_per_page\' => 5,
)
);
然后你这样循环:
if( $cat_query->have_posts() ) : while( $cat_query->have_posts() ): $cat_query->the_post();