如何使类别模板显示完整帖子而不是部分帖子?

时间:2010-09-19 作者:Ben McCormack

我正在将Wordpress 3.0.1用于210主题。我正在尝试更改类别视图中帖子的显示方式(即转到类似mywebsite.com/Category/mycategory的url)。目前,类别视图中的帖子只显示帖子的第一部分,但我想更改它,使其显示整个内容。

在Category模板(Category.php)文件中,有几行代码看起来像是负责生成类别数据:

/* Run the loop for the category page to output the posts.
 * If you want to overload this in a child theme then include a file
 * called loop-category.php and that will be used instead.
 */
get_template_part( \'loop\', \'category\' );
?>
既然评论中提到了设置儿童主题,我就照做了these instructions (via)this answer) 设置子主题,以便添加自定义功能。

我从评论中看到,我应该创建一个名为循环类别的文件。php和我的自定义实现,但我不知道需要在该文件中放入什么代码。我需要向循环类别添加什么。php获取类别视图以显示完整的博客帖子?

注意:虽然我已经使用Wordpress很长时间了,但这是我第一次深入主题定制。任何帮助都将不胜感激

2 个回复
最合适的回答,由SO网友:Chris_O 整理而成

@Ben,

如果你看循环的第132行。php在二十世纪十年代,你会发现一条条件语句,它告诉WordPress只显示类别档案中的\\u摘录。就在那之后<?php else : ?> 是如何显示所有不在存档页、旁白类别或图库类别中的帖子。(asides和gallery类别以loop.php的开头为目标)

<?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
            <div class="entry-summary">
                <?php the_excerpt(); ?>
            </div><!-- .entry-summary -->
    <?php else : ?>
            <div class="entry-content">
                <?php the_content( __( \'Continue reading <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) ); ?>
                <?php wp_link_pages( array( \'before\' => \'<div class="page-link">\' . __( \'Pages:\', \'twentyten\' ), \'after\' => \'</div>\' ) ); ?>
            </div><!-- .entry-content -->
    <?php endif; ?>
在循环类别中。php文件最简单的方法是复制并粘贴整个循环。php文件,并将上面的代码部分更改为:

<?php if ( is_search() ) : // Only display excerpts for archives and search. ?>
            <div class="entry-summary">
                <?php the_excerpt(); ?>
            </div><!-- .entry-summary -->
    <?php else : ?>
            <div class="entry-content">
                <?php the_content( __( \'Continue reading <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) ); ?>
                <?php wp_link_pages( array( \'before\' => \'<div class="page-link">\' . __( \'Pages:\', \'twentyten\' ), \'after\' => \'</div>\' ) ); ?>
            </div><!-- .entry-content -->
    <?php endif; ?>
您会注意到,我们只删除了is_archive 从条件语句so now中,类别存档将使用包含以下内容的else语句后的代码显示the_content 而不是the_excerpt.

SO网友:thepete

我刚刚从循环中删除了“is\\u archive()| |”的第二个实例。php,并让每一篇文章都显示在category/catslug页面上。我不必创建循环类别。php文件。没有Chris\\u O的指示,我不可能做到这一点。谢谢你,克里斯!!

结束

相关推荐

Adding goodies to themes

如何在主题更新时向Arjuna-X等主题添加内容而不丢失?儿童主题是一种很好的方式,还是有其他选择?如果新版本的主题对我添加的功能具有本机支持,该怎么办?