自从我做了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
EDIT-->我还删除了类别检查,所以它应该只列出所有帖子,而它所做的只是回显当前页面的标题,如果这有帮助的话
发布于 2011-07-30 21:47:12
多亏了汉斯的帮助。这是我所做的:
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; ?>发布于 2011-07-30 03:21:09
我假设"16“是分类ID?根据the WordPress docs for in_category的说法,如果你按ID查询,它应该作为一个整数传递。
$category (mixed) (必需)一个或多个由ID (整数)、名称或slug (字符串)指定的类别,或这些类别的数组
使用您当前的代码,in_category检查每次都会失败,因为它正在检查与名为“16”的类别的关联。试着这样做:
if ( in_category(16) ) {
...
}https://stackoverflow.com/questions/6877933
复制相似问题