Archive for the ‘wordpress’ Category

WordPress in Pocket

星期四, 二月 4th, 2010

把WordPress放入口袋?听起来是一件很有意思的事。其实,这里说的意思是,通过手机直接管理博客和发布文章,随时随地享受Blogging乐趣。

通过手机发布博客日志,归纳起来有两个方法实现。

第一,通过插件,让博客后台页面针对手机优化,去掉复杂的排版,在手机上访问起来速度更快,这样的插件有
WordPress Mobile EditioniPhone / Mobile Admin 等。

第二,WordPress提供了针对iPhone/iPod touch,Blackberry,Android的手机客户端,通过相应的软件,即可在手机上实现发布修改文章,上传图片,管理留言等操作。通过手机客户端管理博客的好处显而易见,手机客户端通过XMLRPC协议进行发布,不需要下载CSS,Javascript,和HTML文件,节省了不少流量,在中国这种流量比油还贵的地方是非常需要的。并且,WordPress手机客户端由WordPress官方开发,功能简洁易用,提供持续的版本更新,不用担心后续开发。

注意,以上网站均需要穿墙访问。快捷下载方式:Android和iPhone/iPod Touch分别在软件市场上搜索WordPress;Blackberry: http://blackberry.wordpress.org/install(依然需要穿越。。)

Wordpress自动给被回复者发送邮件的插件ReplyMe

星期五, 一月 23rd, 2009

以前用Wordpress Thread Comment这个插件来实现嵌套回复的时候,对它的自动邮件给被回复人的功能非常满意,但自从我的Wordpress版本升到了2.7,并停用了这个插件,改用WP2.7内置嵌套评论后,就缺了这功能,不利于交流。

原本以为有这样一款功能的插件,后来找来找去都没找到,只好自己花两个小时写了这个ReplyMe插件,在嵌套评论模式下,当父评论被回复时,自动发送邮件给父评论的作者。

在使用这个插件前,你最好要开启WP内置的嵌套回复功能,并配置好主题,然后禁用Wordpress Thread Comment,以免产生冲突。

这个插件支持英文,中文,后来使用土耳其语的Opereysin兄又给我发来了土耳其语的翻译。

好了,想体验一下效果吗?在这篇文章下留个言,我给你回复,你就可以看到效果了。

超强SEO工具推荐

星期六, 一月 17th, 2009

最近Neekey开发了一个超强(自夸了)SEO工具For Wordpress,起名Page SEO。该工具可以查询你的博客的每个页面的Google Pagerank值。使用这个插件前你需要先安装Google XML Sitemaps来生成你的sitemap.xml文档,因为这个插件是根据sitemap.xml的链接来提供服务的。

安装插件后,到管理后台,工具,Page SEO页面下,会把你的sitemap.xml中的所有链接提取出来,并显示Google Pagerank值。

插件预览效果展示一下

该插件一经推出首日下载量181次,打破了我所有提供的插件的记录 :) 也希望朋友们多多推荐,互相交流,有什么问题这里提出即可。

另外,关于查询Google Pagerank的方法,以前也写过文章,这里不再累赘。

Reviewers Info插件更新

星期二, 一月 13th, 2009

Reviewers Info是一个能够在留言者链接旁边显示留言者的国家国旗、操作系统、浏览器信息的插件。

Reviewers Info最近更新到了2.5版,优化了浏览器支持,并且更改了调用方式。在该版本以前,使用Reviewers Info需要修改主题comments.php模板,从这个版本开始,只需要安装插件,启用即可,不需做任何修改即可看见效果。

原来装过该插件,从后台升级插件后务必编辑当前主题的“comments.php”文件,把原来添加的语句“ <?php display_commenter_info($comment); ?> ”删除

这里感谢流星天空等博客好友的支持及对本插件提出的建议意见。

当前版本支持的浏览器:

  • IE
  • Firefox
  • Opera
  • Safari
  • Chrome
  • Maxthon(基于IE)
  • TheWorld(基于IE)
  • TencentTravel(基于IE)

操作系统:

  • Windows
  • Linux
  • Mac OS
  • Ubuntu,Debian(基于Linux)

由于手机留言访客实在太少,所以暂不支持手机(如NOKIA,iPhone)等用户的信息。

官方下载:http://wordpress.org/extend/plugins/reviewers-info/

Wordpress2.7留言嵌套回复主题教程之二

星期六, 一月 10th, 2009

上回说到关于WP2.7内置的嵌套回复,步骤有点累赘,其实这里还有一个更好的方案,移植默认主题到您的主题上,仅需几步就可以打造支持WP2.7内置嵌套回复的主题了。

thread-comment-default-theme
(默认主题的嵌套回复效果)

第一步,沿用WP2.7内置 default 主题的comments.php 模板。将 wp-content/themes/default/下的comments.php文件覆盖您的主题的comments.php文件。由于许多主题制作者对于comments.php的修改比较少,所以即便这样对您的主题的整体风格影响也不大,而且如果不满意可以再进行修改。default内置的评论模板已经完全采用了嵌套回复的方案。

第二步,打开default主题的style.css文件,从 “/* Begin Comments*/”开始至“/* End Comments */”结束,把该段复制到自己的主题的style.css文件中。这里的CSS仅包含了最基本的定义,不过效果也可以接受(详见下图),如果要进行修改的,不妨看看国外网友的风格:1 2 3,或者也可以用Firefox+Firebug找出其中的元素进行定义。

第三步,在主题的header.php添加以下PHP代码。(务必记得要在 wp_head() 函数执行前调用!)

  1. <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

OK,仅需三步即可完成您的主题对Wordpress 2.7嵌套回复的支持。

Wordpress2.7自带嵌套回复配置教程

星期六, 一月 3rd, 2009

Wordpress2.7从2.7开始自带了“嵌套回复”功能,而以前使用这个功能需要依靠第三方插件Wordpress Thread Comment来实现。嵌套回复的工作原理其实并不难,WP的数据库里有个wp_comments的表中有一栏comment_parent ,即可以对comment指定父级,达到嵌套的目的。

thread-comment-plugin

这是使用插件生成的嵌套回复,由于工作原理不同,嵌套回复的内容样式不能与父评论保持一致,而需要在后台对插件进行设置

thread-comment-default

由WP生成的嵌套回复,父评论与子评论保持风格一致,便于编辑风格,也节省了插件的资源。而且,如果用原生的嵌套回复取代插件,所有原有的嵌套回复都依然存在。

接下来就来进行DIY吧。

DIY第一步

停用Wordpress Thread Comment插件。并到后台设置-》讨论,开启“允许嵌套X层评论”。

DIY第二步

选择主题(这里以WP自带classic主题为例),打开header.php,在wp_head();这个函数之前添上

  1. <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

该代码在文章/页面调用嵌套回复的Javascript文件。

DIY第三步

打开comments.php编辑评论模板。原有的模板大概是:

  1. <?php if ( $comments ) : ?>
  2. <ol id="commentlist">
  3. <?php foreach ($comments as $comment) : ?>
  4.     <li>
  5.     ...
  6.     <?php comment_text() ?>
  7.     ...
  8.     </li>
  9. <?php endforeach; ?>
  10. </ol>
  11. <?php else : // If there are no comments yet ?>
  12.     <p><?php _e('No comments yet.'); ?></p>
  13. <?php endif; ?>

如今有了WP自带的wp_list_comments();函数,即可轻松完成这些工作

  1. <?php if ( $comments ) : ?>
  2. <ol class="commentlist">
  3. <?php wp_list_comments();?>
  4. </ol>
  5. <?php else : // If there are no comments yet ?>
  6.     <p><?php _e('No comments yet.'); ?></p>
  7. <?php endif; ?>

说明一下,原有的判断有留言、取出、并显示的部分用一个wp_list_comments();即可取代。原来的ol(有序列表)的id=”commentlist”改为class=”commentlist”,这是因为到后面定义CSS的时候可能会与其他产生冲突。关于wp_list_comments函数更多请参阅官方文档

DIY第四步

找到一个textarea,name=”comment”,就是访客输入留言的文本域,看看是否这个textarea中还有个id=”comment”,如果存在,把id=”comment”去掉(不是去掉textarea,而是去掉定义的ID)。

DIY第五步

找到

  1. <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />

去除该段,替换为

  1. <?php comment_id_fields(); ?>

这是对回复框进行定义,以便支持嵌套回复。

DIY第六步

  1. <h2 id="postcomment"><?php _e('Leave a comment'); ?></h2>

  1. <?php endif; // If registration required and not logged in ?>

的外部用一个id为”respond”的div包裹。这样做是为了在嵌套回复时,点击留言者旁边的“回复”,即可把评论框整体移至该评论附近。效果见本站。

DIY第七步

在“Leave a Reply”下面增加

  1. <div id="cancel-comment-reply"> 
  2.     <small><?php cancel_comment_reply_link() ?></small>
  3. </div>

这是一个取消评论的链接。一般情况下,该链接不显示,只有要针对某人进行评论,而不想评论时可以点击这个链接把评论框复位。

OK,针对文件的修改就完成了,我这里提供了修改后的comments.php,请直接下载后参考即可。

Wordpress官方已经有朋友给出了该方法。详情参阅

DIY第八步

接下来是针对CSS的定义。国外网友Chris Harrison提供了CSS部分的几种配色方案。

  1. ol.commentlist { list-style:none; margin:0 0 1em; padding:0; text-indent:0; }
  2. ol.commentlist li { }
  3. ol.commentlist li.alt { }
  4. ol.commentlist li.bypostauthor {}
  5. ol.commentlist li.byuser {}
  6. ol.commentlist li.comment-author-admin {}
  7. ol.commentlist li.comment { border-bottom:1px dotted #666; padding:1em; }
  8. ol.commentlist li div.comment-author {}
  9. ol.commentlist li div.vcard { font:normal 16px georgia,times,serif; }
  10. ol.commentlist li div.vcard cite.fn { font-style:normal; }
  11. ol.commentlist li div.vcard cite.fn a.url {}
  12. ol.commentlist li div.vcard img.avatar { border:5px solid #ccc; float:right; margin:0 0 1em 1em; }
  13. ol.commentlist li div.vcard img.avatar-32 {}
  14. ol.commentlist li div.vcard img.photo {}
  15. ol.commentlist li div.vcard span.says {}
  16. ol.commentlist li div.commentmetadata {}
  17. ol.commentlist li div.comment-meta { font-size:9px; }
  18. ol.commentlist li div.comment-meta a { color:#ccc; }
  19. ol.commentlist li p { font-size:11px; margin:0 0 1em; }
  20. ol.commentlist li ul { font-size:11px; list-style:square; margin:0 0 1em 2em; }
  21. ol.commentlist li div.reply { font-size:11px; }
  22. ol.commentlist li div.reply a { font-weight:bold; }
  23. ol.commentlist li ul.children { list-style:none; margin:1em 0 0; text-indent:0; }
  24. ol.commentlist li ul.children li {}
  25. ol.commentlist li ul.children li.alt {}
  26. ol.commentlist li ul.children li.bypostauthor {}
  27. ol.commentlist li ul.children li.byuser {}
  28. ol.commentlist li ul.children li.comment {}
  29. ol.commentlist li ul.children li.comment-author-admin {}
  30. ol.commentlist li ul.children li.depth-2 { border-left:5px solid #555; margin:0 0 .25em .25em; }
  31. ol.commentlist li ul.children li.depth-3 { border-left:5px solid #999; margin:0 0 .25em .25em; }
  32. ol.commentlist li ul.children li.depth-4 { border-left:5px solid #bbb; margin:0 0 .25em .25em; }
  33. ol.commentlist li ul.children li.depth-5 {}
  34. ol.commentlist li ul.children li.odd {}
  35. ol.commentlist li.even { background:#fff; }
  36. ol.commentlist li.odd { background:#f6f6f6; }
  37. ol.commentlist li.parent { border-left:5px solid #111; }
  38. ol.commentlist li.pingback { border-bottom:1px dotted #666; padding:1em; }
  39. ol.commentlist li.thread-alt { }
  40. ol.commentlist li.thread-even {}
  41. ol.commentlist li.thread-odd {}

这里就不说如何更改了,这个效果已经相当不错,如果还要优化的不妨用Firefox+Firebug调试出适合自己的结果。请务必把该段CSS添加到style.css文件中,否则效果就惨不忍睹了。

Latest…something

星期天, 十二月 28th, 2008

真快啊,2008就要说再见了。

过几天就是2009,先祝福大家新年快乐

最近忙些事儿,先是博客的主题,继上个月换了当前主题后又再设计了一个新主题photozero

这个主题我承认基本按照Google的思路设计的。宽度是1024px,感觉现在1024px+的分辨率应该有90%以上了吧?于是决定舍去800px的访客。文章方面,依然是首篇文章显示全文,后面的文章则显示摘要。文章宽度550px左右,侧边栏在450左右。

从这个版本开始,我加入了Twitter支持。原来我一直没有玩Twitter,后来倒觉得Twitter这样的微博客是挺有必要的。比如我只想说一句话而不想演绎成一篇文章的时候。Twitter的速度还是比较一般,不排除自己搞一个Microblog。

第二件事,新做了一个WP插件——WP Cleaner,已经获得WP官方HOSTING批准,由于没有空进一步修改,尚未发布。它可以清理数据库中没有用的 wp_options里的option,wp_posts里的 revision(修订文章),attachment(图片/ZIP文档附件),达到优化WP的目的。

第三件事就是我自己设计的Feed缓存器——Custom Feed已经基本成型了,它的功能与FeedSky相仿,有Feed缓存功能,订阅统计等功能,您现在可以访问 http://feed.photozero.net/ 就已经是这个平台了。这个程序目前还在测试中,估计很快就能发布了。统计后台演示 http://feed.photozero.net/counter.php 以及统计图标

第四件事是关于缓存Wordpress输出的Feed的问题。由于每次读取http://photozero.net/feed/都要经过WP,这样有点浪费资源,我想把Feed输出直接缓存为 feed/index.html ,这样就可以达到静态读取Feed的目的,试了一下,不成功。求解

  1. add_action('publish_post','feed_cacher',11);
  2. add_action('delete_post','feed_cacher',11);
  3.  
  4. $feed_cacher_file = 'feed/index.html';
  5.  
  6. function feed_cacher(){
  7.     global $feed_cacher_file;
  8.     ob_start();
  9.   
  10.     $doing_rss = 1;
  11.     require(ABSPATH'/wp-blog-header.php');
  12.     do_feed();
  13.   
  14.     $feed_contents = ob_get_contents();
  15.     ob_end_clean();
  16.   
  17.     $fp = fopen(ABSPATH . $feed_cacher_file , 'w');
  18.     fwrite($fp,$feed_contents);
  19.     fclose($fp);
  20. }

另外,发生了一些怪事,后台发布文章页面的填写标签的框不在了,我以为是Simple Tags搞的鬼,想去插件页面禁用它,却发现Simple Tags根本就不见了!。。怎么回事?

Gravatar 教程

星期六, 十二月 13th, 2008

Gravatar是什么?

Gravatar取名Globally Recognized Avatar,即全球通用头像,它是由Wordpress系列产品的母公司Automattic运营的一个面向广大博客网站提供通用头像服务的网站。在该网站注册账户并上传头像以后,在全球任意一个支持Gravatar的网站(如基于Wordpress的大部分博客),在评论时只要输入您的电子邮箱,在评论旁即可显示您的个性头像。Gravatar最早面向Wordpress博客用户,后来逐渐被其他的博客平台以及一些普通网站所接受,如Z-BLOG,PJBLOG等。gravatar

开始注册Gravatar吧!

第一步

登陆Gravatar,点击Sign Up,填写常用邮箱地址,提交。

gravatar-signup

第二步

登陆邮箱,收取确认信。点击信中链接完成注册。分别填写昵称,密码,以及确认密码。

gravatar-finish

昵称请使用英文字符填写,且不能与其他人同名;密码中需要包含英文字符。

注册成功后即可看到以下界面:

gravatar-upload

第三步

点击“Add one by clicking here!”,添加头像。

Gravatar可以使用电脑上已有的图片、互联网上已有的图片或者开启摄像头拍照后上传。

gravatar-upload2

这里以本地上传为例,上传图片,点击NEXT

上传图片后可以对图片进行编辑,截取部分或着整幅图片,非常方便本地没有图片编辑软件的朋友。(所以如果你要截取某个大图中的某个部位,不需要本地编辑成刚刚好的文件,只需要上传以后进行截取即可)编辑图片后,点击Crop And Finish即可。

接下来会让你给图片评级,如果有点色情内容,则在某些网站不显示:

gravatar-rate

  • X:包括色情、暴力等令人不安的内容。
  • R:包含暴力、裸露、毒品等
  • PG:包含粗鲁手势、轻微暴力等内容
  • G:适合所有人观看(如我这幅“超人”头像)

OK,到目前为止你已经完成了注册Gravatar的过程。现在你在任何一个支持Gravatar的网站(如本博客),进行留言,并准确填写您的Email地址,即可在旁边显示您的头像,酷吧!

Gravatar还提供一个账号存储多张图片的功能,有些喜欢天天换头像的朋友上传图片后会进行保存,很方便找到曾经用过的头像。同样,Gravatar还支持多个邮件地址绑定在一起,共享图片资源。

帮助

• 看不懂英文?
Google翻译一下 :)

• 我的网站如何支持
Z-Blog教程
PJBlog教程

Gravatar官方教程
Sablog-X,Bo-Blog似乎默认支持?
Wordpress较新版本已默认支持;

• 我的Email会泄露吗?
不会!完全不会,Gravatar使用加密后的代码在网络间传输,如我的邮箱加密后为782b1edd33c043aa56506b7d22a77ec9,你能知道我的邮箱吗?当然,既然你把邮箱提交给这个网站,如果该网站故意将您的邮箱泄露,那就没办法了..

博客新皮White Zero

星期天, 十一月 30th, 2008

话说上回自己动手做了个Simple Zero主题,自娱自乐了一个月,最后终于在审美疲劳中草草收场,这极大地打击了我对HTML设计的信心 :(

不过上回我又看到一篇文章说,一个独特的主题是吸引读者的有效方法,我又动了设计主题的念头。

这次走的路线是清爽路线,于是采用了单栏设计。我以前常在文章中贴图,而且图片往往挺大的,为了方便读者,我又不希望显示被压缩后的图片,只能任由图片撑破边框。现在改成单栏以后,再也不用担心贴图的问题了。

在这个主题里,几乎没有什么特点,也许这就是这个主题最大的特点。主题的基本字体是14px,宽度760px,适合 800px*600px以上的分辨率。

header和footer的背景是Google的惯用色,我一直认为挺简介、清爽,周边用了只有Firefox才支持的纯CSS圆角,因此在Firefox以外的浏览器是不怎么美观的..

横栏下依然放置了几个常用的订阅器图标和书签收藏图标,唯一少了以前的N国语言翻译图标。

在首页,只有第一页第一篇文章才显示全文,其他文章仅显示标题。

在底部是一个四栏的拓展栏,分别排列 Hot Friends,最近回复,我的豆瓣,Clicki统计。

此外,链接依旧放在单独页面,使用了Hot Friends中的Hot Friends Cloud函数取代原本的 wp_list_bookmarks。ThinkAgain的文档也没说清楚到底怎么用这个云,又看了编辑源文件搞了半天终于搞定 :)

哦,最近开始玩起了豆瓣了,豆瓣据说是小资玩的,我也来试一试。我一般看一些比较青春的书吧,当然,也看看30多岁的人的书。这个看书的范围太广了,改天再扯。

当然,我的主题自然不能少了Google Ajax Search的支持。这次还是配置了Google Ajax Search,只是出于外观原因,把那个“Powered by Google”给隐藏了。Google Ajax Search相比Google Custom Search更为好用一点,但配置也比较麻烦点,这还是得指望那些主题开发者在设计主题的时候就能内嵌Google Ajax Search。

OK,扯完了该主题。下回还有计划做一个全AJAX化的主题,浏览博客就像用Google Reader的那种感觉,不知道效果怎么样?

这两个月开始忙起来了,一个月也没有发多少篇文章,现在觉得为了赶进度或是为了数据写文章没有什么必要,反正有心情的时候就写写吧。

还有要感谢的是一直支持我的博客的读者朋友们,如今订阅数终于缓缓到达了50,接下来就希望能在春节前突破100吧 :)

Reviewers_Info插件更新

星期天, 十一月 2nd, 2008

最近实在是很忙,昨天抽空更新了我开发的Wordpress插件Reviewers_Info。这个插件的功能在于能够显示评论者的国家信息、浏览器信息、系统信息。这个更新版提供了对Google Chrome浏览器的支持,目前支持的浏览器有IE,Firefox,Opera,Safari,Chrome,其他浏览器由于市场份额小没有支持。

另外,在国旗的方面,采用了zQuery的资源。相比原来的国旗显示,IP数据不再使用数据库进行存储,而是使用文件存储,国旗的显示速度更快。

目前该插件已经更新到WP官方插件目录,已经安装该插件的直接在后台一键升级即可,尚未安装的不妨点此下载

在使用这个插件的过程中遇到什么BUG或者有任何意见建议,请告知我,我将尽可能回答您。