Image Head Fixed

升级wp2.3以后,原先的image head的插件一直无法使用,原因是部分函数的变化,导致插件无法读出标题。

看了wp官方的一个帖子后,找到一个解决办法,将

  1. the_title('-image-');

改成

  1. echo ImageHeadline_render(''.$post->post_title.'');

至少这一方法对我有效,但是否会出现问题还不得而知。

WordPress 2.3

上周wordpress已经在为发布2.3做准备了,这几天一直有事没顾得上关注它了,今天升级以后发现很多函数都有改动,导致很多插件无法正常调用函数,所以如果你的插件安装的很多,或者不是很迫切需要升级新的版本,我觉得还是停留在2.2以下比较好。

2.3以后wordpress有自己的tag系统了,感觉是由那个tag插件演变而来。而使用tag需要在非默认模板下稍作改动

  1. Posted in < ?php the_category(', ') ?>

加入

  1. < ?php the_tags('Tags: ', ', ', '<br />'); ?>

WordPress的adsense点击率

在用MT一个月的时间里,页面google adsense的点击率是用wordpress的4倍以上,除了某一关键字排名突然考前的原因外,我觉得还是页面打开速率。

从统计的数据来看,WordPress的页面浏览量比MT要小一个档次,很大的原因是页面打开的速率慢,MT静态页面打开只需要2秒,而wordpress则可能需要5秒以上,如果使用插件比较多,JS加载量大话,页面打开更慢,于是访问用户几乎只打开一个页面就离开了,adsense的点击量可想而知了。

个人建议,如果在wordpress的博客上投放google adsense尽量少使用需要JS加载的插件和框架,特别是加载外部的JS。同时adsense的代码最好div起来,以免adsense加载过慢影响页面打开的速度。

wordpress,adsense

又回到了wordpress

用了一个月的Movable Type还是不能使用,又回到wordpress阵营。

相对来说MT操作起来比较复杂,与wordpress不同的地方比较多,特别是修改模板,更适于web设计师,像我这样的半吊子,实在无法胜任。再者还是资源贫乏,网上很多MT资源不是失效或者已经没有再开发了。虽然升级到MT4后稍有改观,但MT已不如往昔风光。MT在英文语系还有不少支持者,但中文网络,使用和推广的人员更少。

wordpress

wordpress还是更容易让人上手,现在可能着重要解决的问题是对服务器消耗和缓存的处理。

wordpress

MT和WP的不同

首先一点,发布方式不同。 MT支持完全静态发布,也就是全静态的html或者php文件格式;WP只能使用动态发布,但可以用rewrite使url地址伪静态。两者各有优缺点,全静态发布,使浏览页面的速度变化,也有利于搜索引擎的优化,不过大量生成时会对服务器造成很大的负担,我这几天修改url,就让CPU消耗过大,而被暂停过,同时模板修改后必须把整个博客重建才能达到修改的效果。动态发布,使用伪静态一样对搜索引擎比较友好,修改页面时也能即时生效,但WP对于访问量大的博客的负载比较差,每日IP上千后很容易造成服务器资源的耗损,这也是我转到MT的主要原因。

再者,整个模板体系不同。 MT相对来说要复杂些。默认情况下,MT使用到的模板都是独立的,无通用文件,修改时需要将所有的模板都做调整。使用css来控制整体结构,一般的模板资源只提供css文件。WP的模板有通用的head,foot,调用也比较方便。从操作来说,wp要简便些。

支持度也不同。 WP明显占有绝对的优势,插件,模板等等的资源比较丰富。而MT就比较贫乏些。

使用后的体会,MT操作稍微麻烦些,但看过些使用指导一般都可以熟悉。由于资源较少,如果你想在MT上做更多的自定义模块,可能需要有一些的使用经验和修改技能。

wordpress,movable-type

WordPress注入bug

3月份升级wordpress的时候曾发生过一次模板危机,此前升级过一个高危版本,这里有官方修改记录非官方的安全报告

最近又遭遇了一次模本注入的世间,提醒下,如果你使用高危版本的wordpress或者使用2.0.5版,检查下你的网页源文件,是否有带“display:none”的隐藏链接,务必尽快升级至最新版本。

WordPress,注入,bug

WordPress2.2

这次wordpress升级以后好像解决了MySQL 4.1的乱码问题,在wp-config中多了一行,

  1. define('DB_CHARSET', 'utf8');

以后每次升级就不用再改wp-db了。

这次修改的文件蛮多的,推荐全部覆盖(wp-content可删除)。

更多新功能可以阅读官方报告

补充:升级的时候发现一个奇怪的编码问题,本博客用的是UTF-8字符集,数据是从mysql4.0转移至mysql4.1的,数据库中读post表可以看到汉字,但其他直接在mysql4.1下安装的wordpress是用的默认字符集latin1_swedish_ci,与至于post表里的汉字全是乱码,而页面上的字符却是正常,连备份的数据也是乱码,不知何故,正在寻找原因。
特安装了一个WP2.1的版本然后升级,将文件全部覆盖,所以问题出在wp-includes/wp-db.php,如果用原先的文件,页面是显示汉字的,如果覆盖了新的就会成乱码。

Update: 2.2版的wordpress好像在分页上有新的改动,导致默认的default模板报错,错误源在wp-include/link-template.php 444行。升级时可能需要注意下此问题。我用了WP-PageNavi,所以未出问题。

修补:将分页修改下

  1. < ?php posts_nav_link('', __(''), __('&laquo; Previous entries')); ?>
  2.         < ?php posts_nav_link(' · ', __(''), __('')); ?>
  3.         < ?php posts_nav_link('', __('Next entries &raquo;'), __('')); ?>


改成

  1. <div class="navigation">
  2.             <div class="alignleft">< ?php next_posts_link('&laquo; Previous Entries') ?></div>
  3.             <div class="alignright">< ?php previous_posts_link('Next Entries &raquo;') ?></div>
  4.         </div>

又发现一个奇怪的问题,我的feed出问题了,http://www.antonioz.com/feed 这个feed是正常的,http://www.antonioz.com/feed/ 这个却挂了,搞不懂了多一个斜杠就出错,怪不得这两天订阅自己的feed没更新了。

重新覆盖了一遍好像恢复了。

wordpress,升级

Better Feed

突然对博客的feed感兴趣了,捣鼓了下Better Feed这个插件,在feed里。

所以特意介绍了下这个插件,顺便在feedburner上看看输出的效果。 😉

安装是在太简单了,直接上传到plugins目录然后激活下就可以了。

不过有更多自定义的操作,作者提供的版权是英文的,需要讲Custom Strings后的设置稍作修改,这里帖下我做的修改,记得php文件保存的时候要选用utf8格式,否则输出的就是乱码。

  1. $wp_ozh_betterfeed['footer'] = < <<FEEDFOOT
  2.     <p>%%readmore%%
  3.     <hr noshade style="margin:0;height:1px" />
  4.     <p>&copy; %%author_nick%%<a href="%%blogurl%%">%%blogname%%</a> 写了一篇名为 <a href="%%posturl%%">%%posttitle%%</a> 的日志 |
  5.       <a href="%%posturl%%#comments">%%comments_text%%</a></p>
  6.     <p>觉得不错加入您的 <a href="http://del.icio.us/post?url=%%posturl%%&amp;title=%%posttitle%%">美味书签</a></p>
  7.     <p>再看看<a href="http://www.technorati.com/search/%%posturl%%" title="Search on Technorati">Technorati</a>上是不是有链接指向此篇日志</p>
  8.     <p>想看更多 ? 浏览下关于 %%categorylinks%% 的文章.</p>

feed,wordpress