这几天在参照别人的经验来美化和优化我的博客,连去万戈那里灌水刷屏都少了点。暂告一段落了,总结一下。
添加中文语言包
我使用3.0时,尚无中文语言包,所以后台一直英文。虽说不是看不明白,但到底不是母语,思考需要转个弯,所以决定打个语言包。
在wordpress中文团队下载简体中文语言包,解压到wp-content/languages目录,然后编辑根目录下的wp-config.php文件,将语言定义宏改为
define ('WPLANG', 'zh_CN');
保存即可。
Ctrl + Enter提交评论
添Ctrl + Enter提交评论功能是很有必要的,因为省去了移动鼠标或用Tab来移动焦点的时间。
实现也很简单,如同Java中的addKeyListener一样添加按键监控即可,我使用的是万戈给WP添加Ctrl+Enter快捷回复一文中木木提供的代码。
在所用主题中的comments.php中找到评论框的代码,形如:
修改为:
最好还将提交按钮改成形如以下形式以提示可以使用Ctrl+Enter快捷键来提交评论。
评论表情
在评论中使用表情可参照万戈的WordPress非插件调用表情符,使用由Willin大师改进的方法,下面简述一下:
- 从万戈那里下载smiley.rar文件,将其中的PHP文件解压到当期主题目录。最好为该PHP文件中的表情链接添加上title属性以提示该表情的含义。
- 在comments.php中的适当位置(譬如上一小节中的textarea前)加上以下代码即可:
<?php include(TEMPLATEPATH . ‘/smiley.php’); ?>
- 个性化表情:用同名图片覆盖掉wp-includes/images/smilies中的图片即可。
- 邮件中显示表情参照墨白的wp-thread-comments评论邮件通知输出表情,其实原理很简单,利用convert_smillies()函数将评论中的wordpress内置的表情符号转换为对应的图片。如在wp-thread-comment中,只需要在$mail_message = str_replace(‘[cc_content]’, $cc->comment_content, $mail_message);之后,@wp_mail(parent_email,mail_subject, mail_message,mail_headers);之前添加上$mail_message = convert_smilies($mail_message);就可以了。
评论框圆角
找到评论框所对应的css的类,为其添加上如下代码即可:
-moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
description 和keyword
本来我是手动为首页添加上description和keyword的,看到万戈的WordPress SEO之Meta信息后,实现了首先输出固定信息,文章输出文章内容摘要和关键字功能。在主题的header.php中添加如下代码(对万戈提供的代码有所修改):
<?php if (is_home()){ $keywords = "小居,流年,Wordpress,生活"; $description = "所谓小居,乃一怡然之乐之地,自成一家"; } elseif (is_single()){ if (post->post_excerpt) {description = $post->post_excerpt; } else { mb_internal_encoding("UTF-8"); $description = mb_substr(strip_tags(post->post_content),0,80); }keywords = ""; tags = wp_get_post_tags(post->ID); foreach ($tags as tag ) {keywords = keywords .tag->name . ", "; } } ?> <meta name="keywords" content="<?php echo $keywords?>" /> <meta name="description" content="<?php echo $description?>" /> <meta name="Author" content="流年" />
添加归档(网站地图)
这个是使用插件Clean Archives Reloaded来实现的。安装激活后,新建一个页面,在HTML编辑模式下插入形如以下的文字即可(实际使用时去掉"/"):
共 [/cartotalposts] 篇文章:
[/cleanarchivesreloaded]
网站测速
虽说火狐下有YSlow插件可用,但我倾向于使用Louis Han推荐的网站Gtmetrix,因为可以保存记录、对比网站,并且有很详细的优化说明和建议。
JS/CSS优化
JS/CSS优化包括压缩、合并等,这些都可以根据使用Gtmetrix测试后来针对性优化。需要注意的是,合并JS和CSS时需要根据调用的顺序来先后放置,也不要所有的都合并。
Add Expires headers
这以及以下共3个优化我参照的是断桥残雪部落格的简单修改.htaccess来提高Yslow等级。
在.htaccess文件中添加如下代码:
<IfModule mod_expires.c>
ExpiresActive OnExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/jpg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>
Configure entity tags(ETags)
添加
FileETag none
启用gzip
这个功能需要服务器开发Gzip功能,若开放,添加
SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript text/javascript application/javascript
万戈也写过一系列的关于Gzip的文章,可以参考其的WordPress之终极Gzip兼容IE6,里面包含了其他文章的链接。
这两天做的美化和优化大概如此,感谢万戈,感谢Louis Han,感谢为wordpress写出诸多优化和美化文章的博友,还要感谢提供了一个良好的免费空间的AtbHost。最后上张优化后的首页的测试图部分截图: 当然,这只是首页的,内页的话分数低点。
都刷到300了还少 😈
@蛋卷, ^_^,我说的是前两天,今天基本完工,所以下午刷了一个下午。 😎
@流年, 靠,看来你不久就会超过我 😯
@蛋卷, 还差得远呢! ➡
@流年, 就一百多了,我相信你
@蛋卷, 好,那我加油了
@蛋卷, 话说,邮件中应该看到表情把
@流年, 我看看,那啥俺的鑫不让俺发那一段,所以我把你评论和谐一点,嘿嘿
@蛋卷, 你是和谐掉了你自己的
@流年, 都和谐了,哈哈,话说能看到表情
@蛋卷, 我还看见我的哦!!有表情就好
@流年, 发火了鑫妹妹,我又和谐了,不能让她看见,不然我就麻烦啦 😆
@蛋卷, 吼,太恐怖了!!! ➡
@蛋卷, 小不忍则乱大谋,
@蛋卷, 😉
我个人感觉简洁清晰是第一要务 我的就显示有点乱了
@丕子, 😎 你的比较多广告嘛
有一个折腾文诞生了~
@Louis Han, 折腾折腾更幸福 😆
完全看不懂 也不了解了 直接支持一下
@签名, 因为我也还是小白,所以自认应该算写得明白的了吧
来看看,貌似不错
@reizhi, 🙂 🙂
各种代码的说 😆
@奶牛, 🙂
万戈是个关键词,你对他的崇敬之情真实溢于言表啊。。呵呵,而且留言刷的那么厉害,强 ❗
@快乐的村长, 嘿嘿,不是崇拜,而是在那里可以找到很多wordpress相关的美化、优化资料,所以就扫荡了一边
嘿嘿,我还是不汉化了,决定以后一直都用英文版,很习惯嘛^_^ 💡
@Mucid, E文好的人,当然没问题了。我还是比较习惯中文(我有个同学有英文原版书基本不读中文翻译的)
🙂 又一个美化高手
@软件盒子, 😳 我可不是美化高手,因为我是自认和公认的没艺术细胞的人
速度灰常不错啊.
@mice, 还可以,内页比首页慢了点,因为js之类的多了
@流年, 👿 我哪一页都比较慢.
@mice, 看了一下,还以粗略做些优化,比如:将header.php中的javascript放到footer.php文件中(次序不要乱);那些基本同时需要加载的js、css,可以将其合并;压缩js、css;再参照我上面提到的Add Expires headers和Etags来优化一下
@流年, 😳 我试过把那些js放到底部 但是都失效=.=杯具.
@mice, js已经压缩过了 css不能压缩 要不然IE6 就会杯具了
@mice, 压缩应该不会改变样式的啊,只是去掉了换行、空格之类的吧
@流年, 👿 我也不知道..反正css一压缩 IE6下就杯具 😐
@mice, 那 ➡
建议在本地建一个博客吧,这样子可以慢慢折腾好后才传到网上去
@mice, 次序比较重要,比如如果你有使用的jQuery 的javascript代码,那么其必须位于jQuery后
@流年, 😉 必须是放后面的 👿
@mice, 嗯嗯
@流年, 🙁 所以现在能优化的 都优化了..有时间再看看js好了..
@mice, 嗯嗯,等到有动力之时吧!!我现在也没动力了
@mice, Add Expires headers和Etags做了没?如果没,可以参照我的做法或文里万戈文章的链接来实现一下。
如果都做了那就是服务器不支持的原因了。
话说,你的首页在YSlow的Small site or blog的规则下已经是grade A了,虽然在Yslow(V2)下是C
@流年, 已经做了,但是还有别的几个图片不支持那个 所以是C 😥
@mice, 嗯,我也不是所有的图片、JS都能够缓存
@mice, 乐观一点想,嗯,在Small site or blog的规则下是grade A,很好!和别人说的时候就说是A就可以了
自从升了3.0后台就一直保持着英文,也就那几个选项习惯了
@洁, 习惯了当然没问题啦
优化做的这么好啊。原来你写了这篇文章,我上午还到万戈那里看ctrl+enter的代码来着。
@vastar, 🙂 我也是在万戈那里学来的
thread comments评论框有时候太长,特别是当评论层数多的时候。不过你这里没有这个问题啊,你有秘技么?
@vastar, 太长?你指的是什么呢?可以的话,截个图比较容易说明
不错 小托来支持下啦。 😀
@网站推广方案, 😛 谢谢支持
@流年,
你看看http://www.happyla.net/archives/1587.html#comment-11376,输入框固定长度,不好。
莫非thread comments新版没问题?
@vastar, 哦,这个问题啊!!这个不是wp-thread-comment插件的问题,而是主题的问题。主要是因为主题设置的评论的textarea的宽度为固定值导致的,将其改为百分比形式的相对值即可。比如,快乐的村长博客的只要将style.css中第919行的#comment中的width的值改为98%之类的值就可以了。
我开始时还以为说的是你的博客呢,过去看了下,没发现问题
@流年, 朵末、快乐啦、快乐的村长,呃!我迷糊了
@流年, 呵呵。又迷糊了啊
我明白了。多谢解惑~我以前想用thread的,也有这个问题我就放弃了。
@vastar, 是啊!又迷糊了 ❓
嘿嘿,我以前用的时候也想改进,可是最近才改
简洁才是最好的。
@睿智小超人, 目前也算是简洁吧
这篇文章有需要参考 💡
@liveasx, 若能对你有所帮助,我很高兴
我下了另一个clean-archive的插件 jQuery的效果超可爱的 本来一直在纠结要不要用的 一想到又要加js我就头疼 然后因为文章太多了 归档页满满一排超囧
Add Expires headers Configure entity tags(ETags)那两个都直接加就可以了么
Gzip也是加在.htaccess?我不知道主机有没有这个功能- –
@snowxh, 没记错的话,我用的也是clean-archive插件,默认是缩起别的月份的,所以不用担心。
后面三个都是加载.htaccess文件即可。(你原本可以使用gzip功能,主机应该就是支持的了)
@流年, 直接加么…有位置要求么…完全不懂= =500了
@snowxh, 加吧,没遇到过位置问题
@流年, 其实是我刚刚500了。。终于明白willin大师为啥写500页面了
不过已经解决了~ 谢谢哈
@snowxh, 500汗,这个偶尔遇到
囧后等偶重写Comments后再考虑ctrl+enter吧 😉
@Mucid, 🙂
怎么没话友情链接呢···
@求索阁, 友情链接?咱是暗恋型的
很好的文章
颇受启发呢
不错不错!!!