WordPress 中 N合一的日志摘要方法

  接着前天讨论的在 WordPress 中 More 标签的问题继续研究,不过今天不是再讨论 More 标签的问题,而是讨论一下关于 WordPress 中日志摘要的其他几种方法。N久N久以前,我对三种不同的日志摘要方法进行过分析对比,各有所长,大家也各有所好,这几天在给某童鞋修改主题的时候,对方提出一个很新奇的创意,这几种不同的日志摘要方法能不能按优先级的顺序同时使用?

  何为同时使用不同的日志摘要?比如说,我们都知道 WordPress 在编辑新日志的时候有自定义摘要功能,不过不是所有用户都会使用该功能,也不是所有用户在每篇文章都需要该功能。这时候我们就需要,在用户自定义摘要的时候,则首页的该日志摘要显示由用户自定义的摘要,当用户没有自定义摘要的时候,则显示由 More 标签截断的摘要部分,或者显示以固定字符数自动截取的日志摘要部分。

  用文字表达起来可能有点绕,还是用代码吧,我写的比较简单,这样条理也比较明朗一些:

<?php
//获取自定义摘要的内容
$myExcerpt = $post->post_excerpt;
//如果自定义摘要内容为空
if ( empty ( $myExcerpt ) ) {
    //方法一、自动截断日志前300个字符作为摘要,支持中文截断
    echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......");
    //方法二、习惯用 More 标签作为日志的童鞋可以用这个方法,将下面 the_content() 前的注释去掉并且把方法一注释
    //the_content();
} else {
    //摘出自定义摘要
    echo $myExcerpt."......";
}
?>

  都已经配上注释了,应该很好理解吧,把以上代码替换 index.php 中原摘要输出的代码,比如:

<?php the_content(); ?>

或者:

<?php the_excerpt(); ?>

  需要注意的是,其中方法一中的 mb_strimwidth 函数是 PHP5 特有的,在 Win主机和 PHP4 的主机上都不能用,会出现乱码。不过现在大家的 WordPress 版本应该都上 2.9+ 了吧,Wordpress 2.9+ 默认是要求 PHP5 的,所以一般可以放心使用。

  使用的方法也是很简单,如果需要对某篇日志进行自定义摘要,则只需在编辑日志的时候将需要的内容(支持 HTML)输入到正文编辑区域下方的“摘要”栏里即可;如果无需自定义摘要则留空。

  欢迎小白鼠们踊跃测试~

本文已盖 98 层楼

  1. 回复 阿邙 说:

    这样输出的摘要 最后一个字有的会是一个黑底的问号 有办法解决么?

  2. 回复 zhubin 说:

    老万输出日志摘要的办法和我的做法异曲同工啊。

  3. 回复 集思 说:

    WP一种效果都有千种实现方法,当用了某种效果之后,看到有其他更为牛的实现方法之后就为自己早早的决定后悔,比如我的图片装了相册插件之后看到别人的相册插件更方便,后悔了。

  4. 回复 郑永 说:

    很好的提议,有时候的确想按需要输出。

  5. 打错字了,是“指导”
    :evil:

  6. 回复 pazz7ven 说:

    我还没用过摘要 多谢提醒 :mrgreen:

  7. 回复 于泽鹏 说:

    我这个Z-blog是多个博客聚合的!能同一个后台就好了!

  8. 回复 权子 说:

    来踩踩 踩踩更健康~~~

  9. 榜样的力量,到处都是感谢老万的博文。

  10. 回复 Ray 说:

    你的很多背景图片左上右下角都改成圆角的啦?!

  11. 回复 皮球 说:

    哇哦,学习了..

  12. more标签有很好的用户体验。不过我还是不捣鼓了。

  13. 回复 zwwooooo 说:

    今年的某一天,我抛弃了摘要插件,给300多篇文章加上more :arrow:

  14. 回复 芒果 说:

    这个想法不错……值得借鉴。

  15. 回复 苏扬 说:

    PJ表示只盖楼,不发表观点,笑而不语,别逼我!

  16. 我是新手 来学习一下!

  17. 回复 自由人 说:

    这个不错 哈哈~~ :razz:

  18. 回复 老实人 说:

    有了老万,是WP的福气呀~

  19. 回复 dudo 说:

    我现在使用的是一个excerpt插件,有摘要的时候显示摘要,没有摘要的时候显示自动截取部分。但有个问题是,在搜索页面或者是tag页面,不起作用……

  20. 回复 Skyoy 说:

    万戈,俺来问问题啦,你这个评论框上面的访客头像是怎么显示的呢? :oops:

  21. 回复 阿邙 说:

    正在准备去除此功能插件. 拿走分析. 试用. 嘿嘿. :neutral:

  22. 回复 realfex 说:

    一直用more,随心所欲,挺好的~

  23. 回复 超人 说:

    想当年摘要方法是您提供给我的.

  24. 看来万兄已经把这个方法沿用到我的新主题中啦;)幸运!

  25. 回复 Louis Han 说:

    越研究越深了 越有兴趣了

  26. 回复 菠萝 说:

    这个太棒了,用上用上!我的新主题一直用着more 标签,在点麻烦滴说,这回好了,解放了。

  27. 回复 菠萝 说:

    又更新了?万戈成了技术狂人了。

  28. 回复 Ray Chow 说:

    偶都是纯手工辛辛苦苦输入滴~

  29. 回复 iamlukas 说:

    :mrgreen: :mrgreen: :mrgreen: :mrgreen: 评论上面的AdSense拿掉了。

    不是很用这些啊。

  30. 回复 集趣 说:

    这样可以限制显示字符,但就好像不太自然了~

  31. 回复 kisa747 说:

    我持续使用最原始的more标签

  32. 回复 龙崽 说:

    又更新了,好快啊 :eek: :eek:

  33. 回复 Google不爱我 说:

    看到下边的那张图里的链接就去点…… :arrow: 我受当了!

  34. 回复 zzy90 说:

    学习了..每天见万戈折腾wp,劲头没有减弱啊

  35. 回复 zzy90 说:

    慢了,没有沙发了,呵呵

  36. 回复 林木木 说:

    mb_strimwidth这个函数是非常好用滴~~

  37. 回复 清风 说:

    支持一下技术文!

  1. 新主题呼之欲出(3) | 阿邙’S Blog

Leave a comment

ipage返佣

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析