Wordpress的Blog系统如何显示全文或者摘要

在Google Groups的Wordpress论坛里,有些人曾几次问过如何在首页显示日志的摘要,或者是想把本来显示的摘要改成全文显示。在QQ的Wordpess群里,也有好多人问起。其实显示摘要或者全文是根据选择的模板不同,而有所区别的。虽然这个问题很简单,但还是有必要总结一下。

首先我们要明白模板文件的调用规则:

显示Blog首页调用的文件为index.php
显示单篇日志调用的
single.php
显示存档(分类存档,按月存档)调用的是archive.php
显示查询结果调用的是search.php

这是默认的模板调用原则。有些模板则会自己创建Loop文件比如K2为“the-loop.php”,vSlider为“post.php”,然后在上述的文件里加上一句调用语句。更改这些模板时需要修改相应的Loop文件

下面显示摘要和显示全文的两种代码:

显示摘要的代码为:<?php the_excerpt(); ?>
显示全文的代码为:<?php the_content(); ?> (此处可能在括号里加上类似”Continue reading ‘” . the_title(”, ”, false) . “‘”的内容,目的是在日志内加上“<!–more–>”标签时显示Continue reading 的链接)

这样我们就明白了如何修改自己的模板,让它在何时显示全文或者摘要。

举例:想在首页和存档时不显示全文,而显示日志摘要,则在index.php和archive.php里查找“<?php the_content…”,把这行语句替换为“<?php the_excerpt(); ?>”即可。

如果模板调用的只是一个Loop语句,这时修改就要费些功夫了,下面的代码作用为只在单篇日志时显示全文,其它页面则显示摘要:

<?php if ( is_single()  ) { ?>   <?php the_content(”Continue reading ‘” . the_title(”, ”, false) . “‘”); ?>      <?php } else { ?>       <?php the_excerpt(); ?>      <?php } ?>

只是做了个简短说明,如果有不足之处或者有问题请在回复里指出,多谢!

  • [...]   来自E-space的文章:Wordpress的Blog系统如何显示全文或者摘要,详述在模板中使用全文或摘要的方法,推荐阅读。 content excerpt theme 全文 摘要 模板 [...]

    [Reply]

  • 2006.01.23 08:16, xyeon said:

    我把首页显示改成the_excerpt()了,但是我想要在下面显示一个Read More,该怎么做?

    [Reply]

  • 2006.01.23 12:56, hhalloyy said:

    Read More是在你写文章时,在想隐藏部分文字之前加的一个标签,和显示摘要无关。
    我不确定显示摘要时是不是会显示那个Read More,你可以试下。

    Read More的标签在进行日志编辑时,插入图片的标签右边那个分页似的东东就是了。

    [Reply]

  • 2006.01.24 02:39, xyeon said:

    我还是不太明白,能不能简单举例说明?

    [Reply]

  • 2006.01.24 08:50, hhalloyy said:

    就是在写日志时,在你想分页显示的文字前,点击一下这个标签:
    或者是用代码编辑方式,加入

    1. <!--more-->

    这个代码。

    [Reply]

  • 2006.01.24 15:30, xyeon said:

    我明白了,谢谢你。

    [Reply]

  • 2006.02.01 06:46, xdeny.net » links for 2006-01-31 said:

    [...] Wordpress的Blog系统如何显示全文或者摘要 显示摘要的代码为: 显示全文的代码为: (tags: Wordpress Themes Tips) [...]

    [Reply]

  • 2006.02.03 05:46, leoluo said:

    hhalloyy, 你好!首页显示改成the_excerpt()。但我发现两点:
    1、 在显示摘要时不起作用。
    2、the_excerpt()对中文好像不支持,我测试了一下,英文可以,但中文不行。

    [Reply]

  • 2006.02.03 05:50, leoluo said:

    1、 在显示摘要时不起作用。— 是指 Read More的标签在设为显示摘要时不起作用

    [Reply]

  • 2006.02.04 06:08, hhalloyy said:

    1. 显示摘要时,是会省去图片,链接等东西的,因为read more是个链接地址,所以把这个标签也省略了。
    2. 这个应该是没有问题的,不知道是不是你设置的代码问题。

    [Reply]

  • [...] 在classic主题中控制文章显示的框架文件是index.php,在其中找到了示例文章中的部分,如发炮制,哈哈,一测试,不错,搞定了。 仔细想了下,classic主题中的文件框架应该属于示例文章中的loop。后来再仔细看,原来这篇文章是从“Wordpress的Blog系统如何显示全文或者摘要”转过来的,呵呵,还是去看原文。然后me修改代码如下: [...]

    [Reply]

  • [...] Wordpress的Blog系统如何显示全文或者摘要 at E-space (tags: wordpress) [...]

    [Reply]

  • 2006.03.27 19:13, modulation said:

    我想实现分页功能,我的模版内没有single.php这个文件,那就需要在index.php里头改,不知道在index.php的哪里插入代码?

    [Reply]

  • 2006.03.28 08:43, hhalloyy said:

    一般的模板是支持分页功能的,首先你测试一下你的模板是否支持:
    请参考第4个回复link
    如果你添加了分布符,却没有显示出来分页(测试首页和单篇日志时是否显示),那么你就需要修改模板了:
    搜索index.php中的

    1. <?php the_content(); ?>

    ,替换为

    1. <?php the_content('Read the rest of this entry &raquo;'); ?>

    ,这样就应该可以了。

    [Reply]

  • [...] 今天更新了Blog的主题,最喜欢的就是分类那里的显示了。 打算今天把Blog完善一下,以后就专心的写东西,后面的路还有很长呀。 其实写这个主要为了测试是否会显示摘要:) ————————- 参考了下面文章,终于成功: Wordpress的Blog系统如何显示全文或者摘要 简单来说,就是编辑index.php,把替换为,现在总算舒服一点了,呵呵 [...]

    [Reply]

  • 2006.05.29 00:32, computing said:

    这里真是个好地方。 资源挺多的,呵呵!

    [Reply]

  • 2006.06.03 16:08, 小明 said:

    请问你的回复了
    tracback 和留言是分开的 这个是怎么做到的

    [Reply]

  • 2006.06.03 21:56, hhalloyy said:

    这个是我用的k2模板自带的功能。
    function k2_comment_type_detection($commenttxt = ‘Comment’, $trackbacktxt = ‘Trackback’, $pingbacktxt = ‘Pingback’) {
    global $comment;
    if (preg_match(’|trackback|’, $comment->comment_type))
    return $trackbacktxt;
    elseif (preg_match(’|pingback|’, $comment->comment_type))
    return $pingbacktxt;
    else
    return $commenttxt;
    }
    这是它判断评论类型的函数。

    [Reply]

  • 2006.11.28 06:27, 氧气层 said:

    用了代码后,我怎么点进去也还是显示摘要挖?555

    [Reply]

  • 2006.11.28 13:59, hhalloyy said:

    to 氧气层,
    你肯定是用错代码了!!

    [Reply]

  • [...] Wordpress的Blog系统如何显示全文或者摘要 显示摘要的代码为:<?php the_excerpt(); ?>显示全文的代码为:<?php the_content(); ?> (此处可能在括号里加上类似”Continue reading ‘” . the_title(’’, ‘’, false) . “‘”的内容,目的是在日志内加上“<!–more–>”标签时显示Continue reading 的链接) [...]

    [Reply]

  • [...] Wordpress的Blog系统如何显示全文或者摘要 显示摘要的代码为: 显示全文的代码为: (此处可能在括号里加上类似”Continue reading ‘” . the_title(’’, ‘’, false) . “‘”的内容,目的是在日志内加上“”标签时显示Continue reading 的链接) [...]

    [Reply]

  • [...] 现在已经显示了最新一篇日志和5篇日志的摘要了,关于如何显示全文和摘要请参考此文,那么你需要规划你的CSS来配合显示方式,样式,位置,字体等等。在我的首页中还加入了热门日志,这个是在使用WP-PostViews插件后调用的显示次数最多的日志列表。 [...]

    [Reply]

  • [...] 现在已经显示了最新一篇日志和5篇日志的摘要了,关于如何显示全文和摘要请参考此文,那么你需要规划你的CSS来配合显示方式,样式,位置,字体等等。在我的首页中还加入了热门日志,这个是在使用WP-PostViews插件后调用的显示次数最多的日志列表。 [...]

    [Reply]

  • [...] Wordpress的Blog系统如何显示全文或者摘要 [...]

    [Reply]

  • [...] 本文转载自于http://e-spacy.com/blog/wordpress-blog-full-content-excerpt/ [...]

    [Reply]

  • [...] 现在已经显示了最新一篇日志和5篇日志的摘要了,关于如何显示全文和摘要请参考此文,那么你需要规划你的CSS来配合显示方式,样式,位置,字体等等。在我的首页中还加入了热门日志,这个是在使用WP-PostViews插件后调用的显示次数最多的日志列表。 [...]

    [Reply]

  • [...] 转自http://e-spacy.com/blog/wordpress-blog-full-content-excerpt/ [...]

    [Reply]

  • 2008.05.31 05:14, joe said:

    很受益,不过想请教一下,如何在不使用more标签的情况下,自动显示带图片的摘要呢,多谢!

    [Reply]

  • [...] 现在已经显示了最新一篇日志和5篇日志的摘要了,关于如何显示全文和摘要请参考此文,那么你需要规划你的CSS来配合显示方式,样式,位置,字体等等。在我的首页中还加入了热门日志,这个是在使用WP-PostViews插件后调用的显示次数最多的日志列表。 [...]

    [Reply]

  • [...] http://www.williamlong.info/archives/1031.html ;感谢hhalloyy的http://e-spacy.com/blog/wordpress-blog-full-content-excerpt ;感谢fwolf的 http://www.fwolf.com/blog/post/102 [...]

    [Reply]

  • [...] 现在已经显示了最新一篇日志和5篇日志的摘要了,关于如何显示全文和摘要请参考此文,那么你需要规划你的CSS来配合显示方式,样式,位置,字体等等。在我的首页中还加入了热门日志,这个是在使用WP-PostViews插件后调用的显示次数最多的日志列表。 [...]

    [Reply]

  • 2008.09.29 15:21, 禅猫 said:

    正需要呢 谢谢。顺道问下 函数显示摘要 显示的文字太少 是否可定义显示字数?xiexie

    [Reply]

  • 2008.11.11 08:55, faucets said:

    显示摘要的代码为:
    感谢指点,我正需要啊,呵呵!

    faucets’s last blog post..Low Flow Faucet Aerators

    [Reply]

  • 2008.11.16 10:29, 裴庆新 said:

    有用的,搞好了。

    裴庆新’s last blog post..探访美国两大总统候选人的家

    [Reply]

  • 2008.11.23 06:03, fish said:

    good !!! Wordpress的Blog系统如何显示全文或者摘要at E-space147

    [Reply]

  • 2009.02.09 05:01, ziziriji said:

    我是这样实现的

    <a href=”">

    [Reply]

  • 2009.02.09 05:05, ziziriji said:

    代码没有贴上去

    用一个变量i控制篇数,
    i为1时,显示全文,其他显示摘要,
    当i等于6时,跳出循环
    <div class=”post”>
    <?php if (have_posts()) : ?>
    <?php $i = 0; ?>
    <?php while (have_posts()) : the_post(); ?>

    <?php
    $i ;
    if ($i == 6)
    break;
    ?>

    <h2 class=”postTitle”><a href=”<?php the_permalink() ?>”><?php the_title(); ?></a></h2>
    <div class=”postMeta”>
    <span class=”date”><?php the_time(’n.d, Y’) ?></span>
    <span class=”author”> <?php the_author_posts_link(); ?></span>
    <span class=”filed”><?php the_category(’, ‘); ?></span>
    <span class=”commentcount”><?php comments_popup_link(’柁タ堕ロ’, ‘1条柁タ堕ロ’, ‘%条柁タ堕ロ’); ?></span>
    </div>

    <div class=”postContent”>
    <?php if ($i == 1){
    the_content(’[Read the rest of this entry...]‘);
    }
    else{
    the_excerpt(’(Read the rest of this entry…)’);
    }
    ?>
    </div>
    <div class=”postMeta”><span class=”tags”><?php the_tags(’Tags: ‘, ‘, ‘, ”); ?></span></div>
    <?php endwhile; ?>
    </div> <!– Closes Post –>

    <?php endif; ?>

    [Reply]




*You must say some Chinese, or just copy 你好! as begin.

2006-01-17