自从我完成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;我也删除了类别检查,所以它应该只列出所有帖子,但它的作用只是回显当前页面的标题,如果这有帮助
答案 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; ?>