Archives.php无法在wordpress中工作

时间:2011-07-29 19:15:44

标签: php wordpress-theming wordpress

自从我完成wordpress模板以来已经有一段时间了,由于某些原因我无法让archives.php工作。我有这个:

<?php
/* Template Name: Archives */
get_header(); ?>
<div id='content'>
<?php get_sidebar('left'); ?>

<div id='column2-wide'>
    <?php if (have_posts()): while (have_posts()): the_post(); ?>
        <?php if ( in_category(16) ) { ?>
            <h2><?php the_title(); ?></h2>
            <div class="post">
                <?php echo the_content(); ?>
            </div>
        <?php } ?>
    <?php endwhile; endif; ?>
</div><!-- column2 -->
<?php get_footer(); ?>

然后在管理员中创建了一个页面,并从下拉列表中选择了要使用的档案模板。

然而这些帖子似乎没有表现出来。我错过了什么吗?完全相同的代码在index.php文件中有效。当我试图在页面中显示帖子时,它似乎无法正常工作。

很可能我错过了一个文件,因为我开始使用Kennethreitz的骨架主题开发主题,可以在这里找到:

https://github.com/kennethreitz/wordpress-theme-skeleton/

任何帮助都将不胜感激。

感谢阅读。

fl3x7

编辑 - &GT;我也删除了类别检查,所以它应该只列出所有帖子,但它的作用只是回显当前页面的标题,如果这有帮助

2 个答案:

答案 0 :(得分:0)

我假设“16”是类别ID?根据{{​​3}},如果您通过ID进行查询,则应将其作为整数传递。

  

<强> $类   (混合) (必填) ID指定的一个或多个类别   (整数),名称或slug(字符串),或这些

的数组

使用当前代码,in_category检查每次都失败,因为它检查与名为“16”的类别的关联。试试这个:

if ( in_category(16) ) {
    ...
}

答案 1 :(得分:0)

感谢Hans提供的帮助。这就是我所做的:

query_posts( array ( 'category_name' => 'foo', 'posts_per_page' => 10 ) );


if (have_posts()): while (have_posts()): the_post(); ?>
        <h2><a href='<?php the_permalink(); ?>'><?php the_title(); ?></a></h2>
        <div class="post">
            <?php echo the_excerpt(); ?>
        </div>
<?php endwhile; endif; ?>