Category Archives: WordPress学习

WP

WordPress升级至2.2.2

很久没有升级了,原来的WP版本还是2.0.*,其中自带的Post Preview实在慢得恐怖,这个版本中的此功能已经被独立出去了,所以后台发布快多了。

除了升级外,还咔嚓掉了N个插件:现在后台仅有十来个插件了,比原来减少了一半还多……

另外把Google Analytics的脚本放到了页脚(放在页眉的做法是GA刚推出时建议的做法,汗~)。

速度应该有较大改善了吧 ^ ^

Crazi Spam Pokers!

CrazySpams

好像一周不到的时间吧,Spam Kamra 2就拦截了2400多条垃圾评论,其中某天的SK2的报告中就报告有1000多条垃圾评论被拦截。当时一点都没在意,只是觉得SK2谎报了军情而已,不想这却是事实。

之前曾用过Akismet,但由于GFW不断的干扰其与WordPress.com之间的通讯,导致大量垃圾评论被缓存甚至被通过,实在忍无可忍,于是又换回了原先使用的SK2。

WordPress转移记

将一个Wordpress架构的站从国外转到了国内,本以为会毫无悬念,没想到却颇费周折,记下,以便以后参考。

1. 无法导入Mysql数据库
在Myphpadmin中试图将备份的Mysql数据库导入新站的时候,老是提示Error。无论是尝试使用Wordpress后台所备份出的数据还是站点Cpanel备份出的数据,都无法解决这个问题。错误代号#1061,大致提示的意思是Mysql从高版本迁至低版本所致。对比原主机的Mysql版本和现主机版本,果然是从5.0.X降至了4.0.X。后来在Myphpadmin的导出功能中,选择版本为4.0.x备份数据,再导入,果然很顺畅的完成了导入过程。

2. 页面乱码
关于Wordpress数据库导入后页面乱码的问题,很多前辈已经深入探讨过了,这里我也只是简单的转述一下:
a. PhpMyAdmin中导入数据库后记得将数据库类型转换为utf8_general_ci(一般而言,Wordpress的数据库都采用UTF-8,当然也有特立独行者不喜之)
b. 找到wp-includes下的wp-db.php文件,找到$this->select($dbname);,并在其前面添加一行,变成:

$this->query("SET NAMES 'utf8'");
$this->select($dbname);

注:修改WP-DB.php文件时建议使用WP自带的文件编辑器(管理-〉文件),这可避免因文件编码不同所引起的不必要的意外
另,以前尝试使用桑志林给出的方法时总是失败,所以,如果你使用我上面给出的方法亦无法解决乱码问题,建议用用他给出的方法:

在 wp-db.php 加入
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面這行
$this->query(”SET NAMES ‘utf8′”);

3. 无法登陆WP后台
这个问题我却是第一次碰到,其先以为自己程序设置有问题,但这显然是不可能的。所幸的是,自己电脑上Admin登陆的Cookie还在,因此每个文章后面的“编辑”选项依然存在。借助于它,轻松进入后台。突然想起之前看到的一个Kill Incoming Links插件,用以解决因为GFW阻止Technorati而导致的WP Dashboard失败问题。所以,修改Wp-admin下的Index.php文件或使用该插件都可以顺利解决这个问题。这也算是主机从国外迁回国内所带来的最大的一点不便。

4. RSS订阅的Feed乱码
本以为一切问题都顺利解决了,不想察看Bloglines时却发现Feed到的文章内容都变成了”??”。稍微搜索了一下,MetalDudu@Blog提及,因为“wp-rss2.php包含的wp-blog-header.php出现多余空行”会导致这种现象的产生,回想自己顺便升级WP到2.0.7的时候,并没有覆盖原服务器上的所有文件,而是采用了自己习惯使用的文件存在习惯(小于续传,等于跳过,大于覆盖)。重新上传文件后,该问题解决。尽管之前以为是由于Rss2文件的问题,但后来的事实证明,这并不是症结:重新上传该文件后,乱码确实消失,但修改文档后,RSS还是会出现无数乱码。修改wp-db.php文件添加SET NAMES 'utf8'这条命令,不想却在首页页头出现一条“WordPress database error: [Unknown system variable 'NAMES']”的错误提示,非常影响美观,但此时的RSS显示一切正常。因此,基本可以推断是WP插件的问题。后台禁用了Adhesive后,一切回归自然,估计是由于Adhesive与MySql 4.0.x或WP 2.0.7/2.1等之间的冲突导致的。娘的,还是没搞定,睡去了!

LightBox功能测试

配合WordPress的上传功能,IImage Browser可以很好的实现图片的上传功能。它除了可以自动生成缩略图外,还可以很方便的生成HTML代码以插入文章中。而LightBox2 for WordPress则是在具有优异图片表现能力的Lightbox JS V2.2的基础上所作一款Wordpress插件。

1. Lightbox
LightBox的安装勿须多言:下载,解压,上传到WP目录下的Wp-content/plugins文件夹内,在控制面板-〉插件中激活Lightbox

Lightbox的使用也很简单:在连接地址中加入rel=”lightbox”参量,示例如下:

2. IIamge Browser
它的安装也很简单,但可能你下载是要注意按照你WP的版本进行下载,目前它有1.46版和1.5Beta,而且一定要关闭您WP的WYSWYG功能

自定义IIamge Browser的大部分内容则在../wp-admin/iimage-browser.php 文件内:

$ib_images_per_page //每页所显示的图片数,默认为10
$thumb_prefix = ‘_’; //默认生成缩略图的前缀,默认为“_”
$ib_settings[‘default_thumbnail_size’] //默认的缩略图大小
$ib_custom_code_thumb //自定义代码段–缩略图
$ib_custom_code_full //自定义代码段–完整版

比如:
$ib_custom_code_thumb = '';

另外,如果需要将自定义代码设置为默认选项,则可以修改该文件中
$ib_imgselect_radiobuttons[‘thumbfull’][‘selected’] = TRUE;字段中的thumbfullcustomthumb等,其他类推。

注:编辑iimage-browser.php文件时最好选择WP自带的文件编辑器(控制面板-〉管理-〉文件),否则将可能带来某些因编码不一致而导致的Warning。

Blog Upgraded to 2.0.4

Grrr~~~

没有想到这次升级Blog居然会如此费尽周折:
晚饭听雨的时候决定把WP升级到2.0.4,因为旧版WP中存在严重的漏洞。庆幸的是,我似乎预见到这次升级不会太太平,因此花了很长的时间去备份网站的数据库和文件等。这没有难点。

问题的出现在我习惯性的覆盖上传文件后访问网站出现错误提示。会不会是因为FlashFXP上传的时候对某些文件不是采用的覆盖而是续传?忐忑不安中把首页换成了“网站维护中”的提示,然后把所有WP相关的旧文件删除,队列完新文件,就撤回宿舍了。到了宿舍我并不能很快的上网,因为电脑被同学占用着。所以拾掇拾掇后才得以上网。

Blog依然是那样的提示,让人觉得无望。突然觉得自己升级的步骤有问题:自己应该把相关的插件停用,把主题换成默认模板,等升级无误后再依次激活插件,以减少插件对新程序不兼容所可能带来的影响。所以,有了思路后就好办了:导出原有插件,再删除所有插件内容,后运行升级程序,依次查找错误。果然,升级成功,并成功进入后台;尽管暂时首页无法访问,在后台设置为默认模板后一切正常。

在排除Blog不能正常工作的时候,意外的发现,所以外调的.mo语言包都会导致第一次升级是所出现的错误。没有办法,只等把所有.mo文件都删除。然后激活常用插件,切换回现有主题,一切正常。

.mo文件调用错误的问题改日找找看其他朋友有没有什么好的方子,至少这会我是不行了。困了,啊~~

Upgrade to WP 2.0.1

WP 2.0出来很久了,可一直都没有舍弃1.5.*。其中的主要原因是自己太过懒惰,不愿意为可能出现的新情况花费时间,当然,不排除自己潜意识里存在不愿改变的想法的可能性。所以,在昨天恍惚了一个晚上后,我决定升级。

根据kDolphin的‘WordPress 2.0升級及其他’ ,先备份了数据库和旧文件,而后创建了一个页面维护中的提示页,接着访问http://www.xouth.com/wp-admin/upgrade.php,一切看起来进展顺利。然后在查看index.php时,意外的发现自己所有的文档(Post)都消失了,而页面(Page)与评论(Comments)则完好无损,其他的一些参数设置也没有问题。错误提示信息如下:

WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘AND comment_approved = ‘1′’ at line 1]
SELECT COUNT(comment_ID) FROM wp_comments WHERE comment_post_ID = AND comment_approved = ‘1′;

试图恢复到1.5.*,可惜自己无法操作数据库,而且恢复了旧文件后,居然告诉我WP没有安装好 :annoyed_tb: 。没辙,再替换为2.0.1。这个时候,后台是可以访问的,但在后台的管理-〉文档中依然是空无一文。然后访问类似于http://www.xouth.com/wp-admin/post.php?action=edit&post=258这样的URL却是可以看到原文内容的,只好编辑提交后依然空无一文。捣腾了很久,依然一筹莫展,只得郁闷了睡了。睡之前跑到Blogging Pro China去留了个言,虽然不抱什么希望,可还是试了试。余下的事本打算今早遇见了可乐兄,托他帮忙恢复一下数据库或协助解决。

早上的时候,kDolphin很友好的回了文,并提示有没有Deactive所有插件。插件?按说不会是插件的问题啊,上次在他站测试的时候,这些插件都是可以工作在WP2.0下的啊。但既然可乐兄还没上线,而且自己也没有别的招,何不停用所有的插件并结合默认的主题试试看呢?就这样,Blog的内容又都回来了。偷偷的开心下。再依次激活插件,通过排除法得出,冲突的插件为Adhesive 2.3, 于是到主页上找到了适合2.0的版本,再设回自己的常用主题,问题解决了!再回想自己测试站测试的结果,可能的原因是因为当时没有任何一篇文章处于置顶状态。

所以,提示所以升级的朋友们:备份好文件与数据库,覆盖文件之前最好把所有的插件都停用,然后再升级WP系统,以减少插件冲突所带来的影响。

WP2.0 Stable Released,犹豫要不要升级呢?

Wp 2.0最新版已经出来了,这应该算是稳定版了。然而尝试升级了一下,发现和1.5.x在后台管理的界面上有所不同(AJAX),其他并没有什么太多引得起我兴趣的特性:)。

尝试了一下,发现有一个插件Admin Revert会导致2.0撰写时候页面的崩溃。@_@

有时候并不是所有的最新版的东西都能够引起所有用户的兴趣的,这有一个用户习惯的问题。毕竟,WP1.5.x稳定了这么久,相应的主题插件支持已经相对比较完善了。虽然测试中没有发现太多的插件异常,但部分后台插件,比如LMB^Box SmileysIImage Browser在撰写的主页面上的Tags都消失了@_@。而我竟然一时找不到切换到经典编辑界面的选项。唉~

等等再升到2.0吧。当然,如果其他朋友需要升级,提示一定要先备份文件与数据库等

UPDATE:终于找到关闭Richedit的选项了,不过发现IImage Browser因为没有找到WP2.0的Upload路径(似乎被WP2.0关闭了原有的Upload选项)而无法使用。更多问题稍后再看看。

Localization of Spam Karma 2

两三天前无意中看到Spam Karma 2出了2.1Beta,并且其中一个比较大的亮点就是本地化,所以在第一时间进行了下载及更新。很可惜的是,它所提供的zh_CN.mo还是0%的进度。所以,在这接下来的6个小时里我不吃不喝,把它基本翻译了一下(大部分时间是在上班的时候完成的 :cool1_tb:)。

当然,目前遇到了不少问题:)
1. 翻译出错。在po文件中,利用PoEdit编辑完99.5%后发现,有两个条目无法翻译,这不是语言表达本身的问题,而在于,不管翻译成什么内容,它都会提示出错;而在保存为.mo文件时,则会提示另一个致命错误,不知道各位熟悉Localization的朋友能不能给点建议:

9:47:17: msgfmt: C:\Documents and Settings\Pal\
9:47:17: zh_CN.mo: warning: PO file header missing or invalid
9:47:17: warning: charset conversion will not work
9:47:17: msgfmt: found 1 fatal error

2. 页面无法汉化。这个问题在我完成了所有的工作后才发现。按照自己原先的计划,可以在粗略翻译完所有的内容后通过粗化过的界面进行一些语句的进一步细化工作,但出乎意料的是,我失败了:( 虽然我是完全按照SK2 Wiki的本地化提示一步一步安装的,但是还是失败了。

这两个问题已经给SK2的作者Dr Dave发信了,希望能有个好的答复 :laugh_tb: 当然,也给了他一点小小的建议,比如,为什么不在通用设置中添加一个语言选择的选项呢? 赫赫

忘记提及的是,Spam Karma 2的确是一款非常出色的反垃圾评论插件,从我的后台来看,它至少已经替我Ban了差不多1800条垃圾评论 :thumbup_tb: ,所以,如果您使用了Wordpress,而您的Blog也正煎熬着,那么,SK2确实可以帮上你不小的忙。

当然 如果大家有兴趣,我是非常欢迎大家帮忙修正其中的错误的,因为从前至后,无法保证每个条目翻译的准确性,而且部分单词的含义无法把捏得透彻,自己的功力实在欠火候啊。这里是我翻译的粗稿,因为是第一次作这样的工作,错误肯定非常非常的多,所以还望大家能够给多些批评性的建议。

UPDATE:才在Wiki中发现,整个Localization是通过Wiki的形式在线更新的,我土了:(,不过无所谓,因为我已经给Dave Mail轰炸了。 :jittery_tb:

决定送出WordPress.com的邀请

为庆祝伟大的祖国56岁华诞,特送出唯一一个Wordpress Blog的邀请。

初步的想法是这样的:
想要的朋友在这里报名。

因为Wordpress对新注册的用户都会附带送一个邀请,因此,我打算给所有有兴趣的朋友排个队,任何一个排队的朋友都有可能收到从你上一个用户发来的邀请以及这个队列所剩下的人员Email地址。在你注册完之后,请按照这个地址列表继续发送下去,直到最后一个人为止。

所以要说明的是,首先你必须同意把自己这唯一一个邀请按照这个队列列表发送下去;其次在注册过程中也许会发生新注册用户没有邀请权限的情形,这个时候请排到后面的朋友还多多包涵;再次,要好好利用咯~

😛

有意向的朋友请在此跟贴吧,我会按先后顺序列出你们的Email,你们注册成功并邀请了下一位用户之后请回Email给我。初步决定这个队列长为5个人,至于到时候中不中断活动或者其他,还待定。

最后祝大家国庆节玩得开心!