Posts Tagged ‘wordpress’

无人会 登临意

Thursday, January 9th, 2014

昨天,简书网站的创始人简叔在新浪微博上兴奋地宣布,找到了一款Tumblr用的Mac客户端Tublme,我回了一句辛弃疾的词:“落日楼头,断鸿声里,江南游子。把吴钩看了,栏杆拍遍,无人会、登临意。”

Tumblr是世界上做得最成功的轻量级Blog,国内也曾诞生过一些它的模仿者,但因为生不逢时,都已半死不活。如今不用说轻博客,连重量级的新浪博客也只能靠胡紫薇的价值观输出来维持可怜的流量了。因此,不是所有人都能体会简叔的这种发现Blog新工具的喜悦。

越来越多的人都已经放弃了Blog阵地,转而深耕微信公众号。和菜头就是一个典型的例子。他曾经是一位勤奋的Blogger,最多一天发过16篇博文。然而,有很长一段时间,他停止更新Blog,我跟我们共同的好朋友Nana,都曾经苦口婆心地劝过他,他在一篇文章中做了回答。“2010年里我更新博客的频率降得很低,对我来说是件好事。”“我在这一年里越来越感觉到文字道没有多大意思。”但是,从去年开始,他在微信公共平台上复活,以每天两三篇的速度,续写当年在Blog界的传说。只不过,微信上的他从腿毛飘飘的冷面杀手,变成了热情似火的知心大叔。讲笑话、唱民谣、朗诵菜谱,他把微信上能互动的功能全都用上,他把满腹寂寞和一腔废话都变成比特喷射到智能手机上,订阅他的公共号,像一晌狂欢,又像一宿嗑药。

我去年也跟风开通了微信公众号,并且一开就是俩。目前一个号的订户是1800多人,一个号是1500多人。但在微信上写作,我非但体会不到创作的乐趣,相反却有一种被藏獒撵着的感觉。微信公众号的后台非常难用,更新一篇事先写好的文章,至少需要十几分钟。除了和菜头这些少数的测试用户之外,大多数人的微信公众号每天只能发一篇文章,如果在次日零点之前不把文章发出去,意味着当天的指标作废。我的亲身经历将证明,这是一条多么残酷而操蛋的规定。

自2014年伊始,我暗下决心,每天写一篇文章,分别发在Blog和微信上,当做“日课”。1月1日-6日连续六天,我都能赶在当晚12点之前完成,迅速地打开微信公众平台,把文章群发出去。然而,7日我因为带儿子到同事家做客,回来已经晚上10点多,面对电脑屏幕,脑子里空空如也。我搜肠刮肚:写什么能在一个小时完成,并且让读者感觉有趣又有用。说说我的育儿经,那样太娘炮了吧?写写近代史随感,那样又太随意了,这至少需要写一篇长一些的文章。写写我的故乡,我的童年,我的葡萄藤和月亮……那样又太老套,写不出新意。就这样过了半个多小时,眼看着距离12点不到一个小时,我决定放弃。8日,上午在家带儿子,自然没有时间写字,下午小睡了一会,晚上去参加前同事的婚礼,回来又去看了看妹妹,到家已经晚上10:30,接着给儿子洗澡用掉了15分钟,眼睁睁又剩下1个小时,而我依然没有找到选题。

连续两天没做日课,我心情有些沮丧。但我很快发现,这不是我的问题,而是我选择的工具的问题。微信公众号根本就不是一种自由书写的工具,它只是一种社交网络,文章分享只是其中很小的一部分功能。即使这一小众功能,也被鸡汤和谣言占去半壁江山,大块文章根本没多少人看。

要想找到写作的乐趣,必须重回Blog,回归Wordpress和Tumblr,爱发什么就发什么,爱什么时候发就什么时候发,爱发几篇就发几篇。而客户端的魅力在于跟系统无缝结合,让你在不知不觉中完成Blog的写作。这也是简叔兴奋的原因,他终于可以跟扎克伯格一样,一边写代码,一边blog了。在简书的推荐下,我安装了Wordpress Mac客户端PixelPumper,并且花78元买了Nerd Mode,这样直接可以查看修改HTML代码。再也不用受微信的鸟气,岂不快哉。

在中文博客式微的今天,重新找到趁手的工具,重新点燃Blog的热情,是一件多么愉快的事!博客不会死,Blog的春天会重来。

也许你会说我是痴人说梦,但痴人不止我一个,那么请你也加入进来吧,让我们一起改变这世界。

P.S. 关于微信公众号和自媒体,猛禽老师的这篇文章说得太痛快,太透彻了

1,089 total views, no views today

做个好博客

Monday, March 21st, 2011

收到一位白板报读者来信,信中问我能不能提供和菜头博客上那种Email订阅,博客一更新,立即发送到订阅邮箱里,这样就不必每天跑来看有没有更新了。

因为我很少能有收到读者来信的荣幸,所以非常上心。跑到菜头的博客,发现他是用Feedburner实现的。这个服务我也曾用过,但自从它被封锁之后,再也没有跟进过。立即重新烧制了一个白板报的RSS,开通了Email订阅功能,并且添加到每一页的右边栏和页尾。以后读者只要填入Email,经过确认,就可以收到白板报的更新了。

在推特和微博的逆袭下,博客日渐凋零,写博客的人越来越少,人们阅读长文本越来越没有耐性。但140字的语录体与博客文章比,不但输在信息量上,还输在逻辑思维上。微博的只言片语留下巨大的逻辑鸿沟,损伤了文章应有的一致性。

微博会满足人的信息饥渴,但无法填补思维的虚空。所以,为自己计,为读者计,还是应该多写博客。

附:博客实现Email订阅的方法

1、访问www.feedburner.com

2、登陆你的Google Account,也就是你的Gmail帐号。如果没有,就申请一个。

3、按照提示,为你的博客烧制一个Feed,提示是一串英文“Burn a feed right this instant. Type your blog or feed address here”

4、管理你为博客创建的Feed,在顶部菜单里找到Publicize,点击后,在左侧菜单里找到Email Subscriptions,激活之。

5、你会得到两段代码,一段是Form格式的,一段是链接格式的。根据你的需要,把给出的代码,贴到你的博客页面模版上。

6、如果你用的是Wordpress,就把链接贴到Widget里,并且FTP打开你的博客,找到http://www.yourdomain.com/wp-content/你的主题/single.php,把给定的链接插到页面底部。

7、如有什么不明白的,可以来信问我。

786 total views, no views today

我是如何解决WordPress无法登陆问题的

Friday, August 1st, 2008

前后花费了三个晚上,我终于解决了Wordpress升级后,用户名、密码都正确,却无法登陆的问题。为了让后来者不吃二遍苦,不受二茬罪,我把解决的详细过程与思路,记录如下。

一、问题描述

这一问题,有几种描述方式,为了让搜索引擎能够找到这篇文章,我把各种常用的叫法汇集如下:

1、有以症状命名的,例如:wordpress无法登陆,密码正确、登录不了,锁到wordpress之外,可以访问、无法登录;

2、有以成因命名的,例如:wordpress升级出错,wordpress2.6升级无法登陆……

3、有以出错语句命名的,这种方式最多:

1) Warning: Invalid argument supplied for foreach() ……
2)capabilities.php on line 31
3)Warning: Cannot modify header information – headers already sent by (output started at……

4、一篇法国人写的著名的解决方案,是这样命名的:Invalid argument supplied for foreach() in wp-capabilities.php: Case Cracked!
(需要指出的是,这篇文章虽然被搜索得很多,但极具有误导性,害了不少人,我认为完全在胡说八道!下文会谈及)

5、有以痛苦感受命名的:天哪,我登陆不上博客了,救命啊,雪地翻跟头跪求……
用这种命名方式搜索,田螺姑娘都没办法帮你。

二、出错语句

出错信息除了上面描述的语句之外,还有其他形式,试搜集如下:

1、我的出错信息:

Warning: Invalid argument supplied for foreach() in /homepages/23/d208744272/htdocs/wp-includes/capabilities.php on line 31

Warning: Cannot modify header information – headers already sent by (output started at /homepages/23/d208744272/htdocs/wp-includes/capabilities.php:31) in /homepages/23/d208744272/htdocs/wp-includes/pluggable.php on line 552

Warning: Cannot modify header information – headers already sent by (output started at /homepages/23/d208744272/htdocs/wp-includes/capabilities.php:31) in /homepages/23/d208744272/htdocs/wp-includes/pluggable.php on line 689

2、以下大同小异,但肯定有这一句:

Warning: Invalid argument supplied for foreach() in /home/user/wp/wp-includes/capabilities.php on line 31

三、出错诱因

目前来看,这个问题大部分情况是发生在为wordpress升级时,不但从2.5升到wordpress2.6,也看到过从2.2或者更低版本升级,遇到这一情况的。

也有案例显示,安装时就出现这一错误。这个非常罕见。

四、出错原因

我不懂技术,网上有各种说法,有说是uft-8编码转换出了问题,有人说陷入死循环。

这些都不重要,重要的是解决办法,难道不是吗?

五、修改字符编码法,或set names utf8法

这种办法,网上最多。它提供的解决办法是:

第一步:用phpMyadmin后台,把字符编码修改为utf-8。这里要注意,如果你用的是mySql4.0话,当你把字符修改成utf-8后,它下次还会显示gb2312,甭理它,其实已经改好了,我的经验是这样。

还有人说,还应该设置数据库的”collation”为”utf8_general_ci”:因为在新的服务器中建立数据库时,没有指定其为utf-8,更没设定collation,所以需要先设定数据库的字符集。

执行命令:
alter database myblog
character set utf8;

然后再在”操作”或者数据库PhpMyAdmin的登陆页面中设定collation为”utf8_general_ci”。

第二步:修改/wp-includes/wp-db.php这个文件。

这一学派认为,毛病出在wp-db.php中,没有设定好utf-8为字符集,从而造成了一系列悲剧。因此,必须修改这个文件。这一学派又有下属三个分支流派:

流派一:在$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);后面加上$this->query(“set names ‘utf8′”); 注意英文标点。

该学派认为,出错原因是wp-includes/capabilities.php里面$this->roles这个数组取到的是乱码。

流派二:就是害人的法国人的那个方案,他认为应该在上述同意位置,加上这一语句:mysql_query(“SET NAMES ‘utf8′”);,其实这是错误的!!

流派三:还有人主张$this->query(“set names ‘utf8′”);这个语句应该加到wp-db.php的另外一个位置;另外还要增加另外一处代码。我之所以,没有详细列出来,是因为这种办法根本无效。

我试过以上三种办法,最后保留了流派一的办法。

但我强烈怀疑,这种办法的有效性!!

六、胡说八道法,又名检查wp_options表法,又又名wp_user_roles法

这个办法是法国人发明的,他说,在phpMyadmin里,打开wp_options表,找到wp_user_roles一项,从中发现一个法语怪字符,Abonné,他认为正是这顶小帽子害得程序成为死循环,于是把它改成英文字符,于是立即神奇般地好了。

这个法国人还说了一句阿基米德的名言:Eurêka! ,希腊语,我找到了!真是糟蹋先贤。

实际上这个办法是最害人的。我照着把长达3公里的代码仔细检查,把所有中文都换成英文,结果依然故我。像这样被误导而浪费时间的不止我一个

七、个别成功法,又名清除cookies法

有人骄傲地宣布,解决了wordpress2.6升级后无法登陆的问题,就是清除cookies。我试了,发现这个办法是无效的。

但这启发了我,有时候你意想不到的办法,反而就是正解。

八、有效办法,又名土耳其补丁法

我在彻底绝望的时候,做了几件事:把wordpress2.6删除,换回了wp2.5。

第二尝试数据库倒裤无果之后,我抱着试试看的办法,找到了这个帖子

这是土耳其人写的一个小补丁,他说只对2.3.X版本有效。但根据我的经验,后续版本应该也可以兼容。

于是我下载了这个插件,http://file.dmry.net/blog/01/wp_user_roles_yama.zip

解压后,将它放到wordpress安装根目录下。就是这副样子:(http://your_blog_url../wp_user_roles.php)

然后敲入上述网址:http://your_blog_url../wp_user_roles.php

满屏都是字符串。

等尘埃落定,我不敢相信,我真的做到了,我又可以自由登陆我心爱的WORDPRESS了。

1,315 total views, 30 views today

Pages: 1 2