解惑

解己之惑,解人之惑

分类:WordPress (第2页共5页)

WordPress

WordPress Database Backup不好用

今天回来的第一件事情就是备份数据库,原来的插件不好用,备份出来的文件都不能打开,CRC出错,而且经常备份到一半就停止了,下载了最新的2.2.2版本,不会停止了,但是文件还是不能打开。

没有办法,登录到盘古的cPanel,发现有 phpMyAdmin,用它的导出功能把数据库导出来了,还是发现一个不足的地方,它的文件编码是GBK,那些数据库脚本的注释可以正常显示,但是数据里面都是乱码,用UTF-8重新load,发现数据可以正常显示为中文,但是注释是乱码了。

虚惊一场

前天发现blog不能访问了,是被suspend了,到盘古的网站上看公告,发现最近的一个是关于备案的,但是我的备案了好多年了啊,后来登录了盘古的帐号发现是到期了,交了预付费,但是发现竟然不能续费,然后点他们的7X24在线客服,发现没有一个人在线,然后又打他们的7X24客服电话,竟然直接断线了,然后我头冒虚汗!难道盘古倒闭了?感觉去gmail看备份数据,发现数据库的备份数据最近的一次是2008年7月的,再次头皮发凉,难道我辛辛苦苦写的blog就这样没有了?担心了一下午,晚上吃完饭,打开电脑再次点击他们的7X24在线客服,发现完全打不开了,心差点就凉透了,抱着试试看的心情又打了客服电话,响了几声,竟然有人接电话,问啥事,我说怎么不能续费啊?报上定单后,说帮“您”处理一下就可以,过了不到一分钟就好了,刷新页面,果然可以续费了,点击续费,刷新blog,可以访问了!真想给他一个飞吻,也忍住了问他们是不是快倒闭了。

反垃圾评论

这个Blog推出也有一定时间了,所以评论的Spam也逐渐多起来了,原来使用WordPress自己带的那个垃圾评论插件已经不符要求了,因为很多垃圾评论它是需要我再处理一下的,只能加到审核队列里面,所以今天专门又搜索了下反垃圾评论的插件,最终选定了这个:Spam Karma 2
从目前的情况看,效果还是很不错的,继续观察,唯一不好的就是它在我的页面底部加了一个信息,不太喜欢插件乱加东西。有时间看看是否有必要去掉。

2007年8月26日更新:
Spam Karma 2的效果果然不错,两天就过滤了36个垃圾评论,看了一下,都是垃圾评论,没有误杀。

修改首页显示的日志数

JR的blog上的很多内容导到这里来了以后,我的侧栏就变得很长了,这样看着不太美观,想把首页的日志输出的条目数修改下,结果google了半天也没有个结果,后来修改了查询条件,从这个帖子里面获得了启发,搜索了下我的主题里面使用到query_posts的地方,发现是recent_entries.php里面使用了query_posts(‘showposts=10’);,修改为query_posts(‘showposts=12’);问题搞定。
其实搜索的时候看到一些帖子说在后台管理的输出选项里面可以控制,但是我的没有,不知道是版本变化的缘故还是使用不同的主题的缘故,不过搜索使用query_posts是一个通用的方法,缺点就是不是通过配置而是通过修改源代码,好在不是经常改,应该问题不大。

WP-ShortStat是数据库空间杀手

一直很奇怪数据库空间为什么一直在快速增加,今天备份数据库的时候发现数据库已经到35M了,把备份文件看了下,发现wp_ss_stats表几乎占据了整个数据库的使用量,删除这个表的数据后,数据库空间下降到只有1M多一点,呵呵,果断的停用了这个插件,还是使用外部的访问统计好了。我想WP-ShortStat可能只适用与每天只有几个点击量的Blog?我的这个Blog的访问量也不是很大,每天的点击数最多300(Google Analytics统计数据),三个多月的数据量就有35M,要是一天的点击量上千,那还不是早暴了?

wp_list_cats

今天又验证了下首页,发现又不符合XHTML1.0标准了,问题的根源在于我修改了分类输出的代码:
<h2>分类</h2>
<ul class="counts">
    <?php wp_list_cats(‘sort_column=name&optioncount=1&hierarchical=0&feed_image=/images/feed.gif’); ?>
</ul>

这样输出的图片的内容为:
<img src=‘/images/feed.gif’ />

这个输出不符合XHTML1.0标准,需要ALT属性,看了下Wordpress的源代码(template-functions-category.php)中wp_list_cats的实现,发现要输出ALT就必须指定Feed选项的值,修改后的结果:
<h2>分类</h2>
<ul class="counts">
    <?php wp_list_cats(‘sort_column=name&optioncount=1&hierarchical=0&feed_image=/images/feed.gif&feed=Feed’); ?>
</ul>

PHP的函数返回值

本来就是想修改下header.php,让我的标签列表以及分类列表的标题更好一些,因为原来的标签文章列表的标题和站点首页的是一样的,在搜索引擎收录信息里面都是一样的,不好区分,这么一个简单的功能,本来以为一分钟可以搞定的,结果因为不熟悉PHP的语法,足足弄了半个小时才搞定。原理很简单,就是取得页面的URI的值,然后判断是否包含/tag/或者/category/:
<?php if ( strpos($_SERVER["REQUEST_URI"],’/tag/’)==0 ) { ?> &raquo; 标签 &raquo; <?php  echo(urldecode(substr($_SERVER["REQUEST_URI"],5))); } ?> <?php if ( strpos($_SERVER["REQUEST_URI"],’/category/’)==0 ) { ?> &raquo; 分类 <?php } ?>
问题是strpos在没有匹配的时候返回FALSE,而PHP不是强类型语言,有匹配返回但是是第一个匹配的时候,返回的是0,而在弱类型的时候,FALSE的等价值就是0,所以上面的判断就是错的。
后来看下了手册里面,注意到里面特别提到了===判断,就是进行强类型检查的,所以修改为:
<?php if ( strpos($_SERVER["REQUEST_URI"],’/tag/’)===0 ) { ?> &raquo; 标签 &raquo; <?php  echo(urldecode(substr($_SERVER["REQUEST_URI"],5))); } ?> <?php if ( strpos($_SERVER["REQUEST_URI"],’/category/’)===0 ) { ?> &raquo; 分类 <?php } ?>

问题搞定。

遭遇Spam

本来想着这个BLOG不会被Spam看中的,结果还是难逃魔手,我的点击量最高的一个日志已经前后有四个Spam留言了,看来这两天得想个办法整治一下了。
原来使用的那两个反Spam的插件因为各种问题都停用了,但是那个Did You Pass Math?的思路还是不错的,可能会自己写一个插件,给留言的Form增加一个hidden值,如果不提交那个值就说明是Spam,而且是比较简单的Spam。现在考虑问题都喜欢以程序员或者专业Spam的角度考虑问题,但是又不够深入,其实一般的Spam都不会读取目标网页的内容然后对应的绕过反Spam的措施,除非你的站点实在是太吸引人了,我想我的这个Blog是不大可能位于这个行列的。

2006年12月30日更新:
重新开启Akismet,开始工作并拦截到三个垃圾评论,呵呵。

自动发布每日网摘

以前就计划做这个功能的,在我快要忘记这个计划的时候,同事Alex的一句话让我解决了这个问题,原来 del.icio.us带有这个功能的。
昨天晚上试验了几次总算是成功了,虽然标题不是我喜欢的,而且不可以修改,但是还算过得去吧。
我为此专门创建了一个用户,似乎需要编辑以上的身份才能成功,开始设置为订阅者和贡献者都不能发布。
左边的每今日网摘可以去掉了,而且现在看好像有点名不副实,里面不全是今日的网摘。

另外修正了首字下沉插件,这个自动发布的帖子开头不是<p> ,我修改的首字下沉插件处理不了。现在可以处理了。

下载修改后的首字下沉插件

 

计划添加的功能

有了刚才的前车之鉴,把刚刚想到的两个功能记下来:

  • 一个是利用自定义的特性实现一个插件,可以自己设定日志为推荐日志,因为有些日志可能就是自己发牢骚的,而有些是自己感觉比较好的,这样可以在那些什么最新日志、热门日志和随机日志之外给出一个推荐日志
  • 第二个是实现一个像keso的昨日新闻类似功能的自动发帖功能,将自己当天收录在delicious上的书签自动发布一下。
更早的文章 更新的文章

© 2024 解惑

本主题由Anders Noren提供向上 ↑