[wordpress plugin] FS Hide Time

朋友,你是否从牙牙学语的时候,就开始坚持写自己的blog?十年浩劫中,你的服务器是否幸运地未受影响,从而把所有旧时文字都保留下来,并且成功地移植到了wordpress上?然后时隔多年回头看去,会觉得那些文字很傻很天真,傻丫得简直不配和现在的你,共存在同一个blog系统,但就这么删了又有些舍不得?又或者当你被生活已经恶心成另一个人后,就只能坐在电脑前羡慕地翻看着那个鲜活的不是你的你,刹那芳华红颜弹指,至少那些文字中不时流出的和前男友的巫山云雨,总要藏起来只有自己看到才好。

用我的插件吧。

这个插件可以把你指定时间之前的blog文章设成隐藏(private),或者自动把xxx天前的blog文章设成隐藏。

1. 本插件只对【文章(post)】进行操作,【页面(page)】不受影响。
2. 本插件只对类型为【已发布(publish)】和【私有(private)】的文章进行操作,类型为【密码保护】的文章不受影响。
3. 在隐藏以前的文章时,那些之前就已经单独设置为私有类型的文章,本插件会将其记住,确保以后批量取消隐藏时,不会将其一起公开。
4. 本插件是通过把文章设成【私有(private)】来实现隐藏的,因此基本只对单用户blog好用。如果wordpress中存在多个admin用户,或者专门进行了其它的权限设置,则不保证你的私有文章不会被别人看到。

Plugin Name: FS Hide Time
Version: 0.8
Author: fivestone
Requires at least: 2.7
Tested up to: 2.9

  FS Hide Time (16.7 KiB, 572 hits)

== Description ==
This plugin can batch hide the articles posted before some date, or automatically keep hiding the articles posted several days ago.
1. The hide operation only affects on posts, but not on pages.
2. The plugin only changes the posts with the visibility "public" and "private". It does not touch the "password protected" ones.
3. The plugin can remember the posts which you already set as private before, to make sure they won't be changed into public when you cancel the hiding plugin.
4. This plugin hides posts by setting them to private visibility. If there were other admin users or some extra permission setting in you wordpress, maybe you private articles are still visible to someone else.

== Installation ==
1. Upload the directory "fs-hide-time" to the "/wp-content/plugins/" directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. In menu "Setting -> FS Hide Time", generate the digests manually.

== Screenshots ==

诚续缘

P:不自虐的话是不是生活很没劲啊?

F:是 if ( 无聊 && 不自虐 ) 才没劲。

F:而且你深入研究后,就会知道在处理上面的语句时,优先判断第一个条件,也就是如果 (有聊==true) 的话,那么第二个因素完全不需要考虑了。

----------------------------

所谓『异或』,是这样一种华丽的运算方式:

1 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ ..... = 1

就是说哪怕周围有再多的无聊人,你也仍然是你自己。但如果出现一个同样不靠谱的1,那么1 ^ 1 = 0,说不定就中和了。

----------------------------

RT 一个合格的程序员是不会写出诸如『摧毁地球』这样的程序的,他们会写一个函数叫『摧毁行星』而把地球当一个参数传进去。

同理,这就是为什么程序员很少表达『我爱你』,他们会写一个函数叫『爱谁谁』而把你当一个参数传进去。

更杯具的是,不光『你』是参数,连『爱』也只是个接口,在不同实例中他们可以把各种诡异的行为定义为doLove()。即使你后来觉得不对劲,那也不是Compile Error而是RuntimeException,已经运行鸟。

WordPress中的标点符号转换 – 2

以前提到过 wordpress 会把诸如 "--" 之类的符号自动替换成 "—" 等全角字符,解决方法是在 formatting.php 中修改 wptexturize() 函数,但这样子修改,每次wordpress升级都会被覆盖。于是就想写个插件解决。但用插件的话就只能把整个 wptexturize() 都禁用掉。这个函数的其它部分是一堆转义代码,一时看不懂什么意思,担心禁掉后会不会被人在留言里用script渗透。就放在一边一直没有弄。刚刚看了看,应该和script没关系,可以完全禁掉的。

然后发现早在07年,就有先贤写过一个只有三行的叫做 Disable wptexturize 的插件,用来禁掉这个函数。但是....为什么这个插件也叫做wptexturize?也就是说只有已经知道了这个函数的存在的人,才能够搜索到这个插件,而通过其它如 "disable auto format / convert" 之类的关键字,基本上是搜不到的。

程续缘真是可悲的物种啊。

[wordpress plugin] FS Twitter Digest

a: 你blog顶上那个状态是怎么弄的啊?
f: twitter-tools,把我发在twitter的状态同步到blog。
a: 。。twitter。。。。如果不用twitter。。你推荐什么呢?
f: 那你打算在哪里写你的状态呢?
a: 我的blog亚。。
f: twitter-tools,你可以在blog后台写了让它发到twitter再同步回来...反正你如今从海外服务器连twitter不用翻墙了。

嗯,恭喜a伉俪网站成功翻墙以及双双告别cn生涯~~ 用twitter-tools显示状态的时候,可以在边栏使用插件自带的widget,也可以编辑后台主题,在你想要显示的地方写上

<?php aktt_latest_tweet(); ?>

话说twitter-tools有个功能,可以自动把你每天/每周发的tweet整理成一篇文章发到blog上。但每天/每周这个频率太夸张了,乃至自己正常的blog文章会完全淹没在这种话痨帖里,所以很多人用了这个功能没几周就受不了又关掉了。后来我把twitter-tools修改了一下,可以指定日期范围手动生成,然后通常每个月来一次

后来这个修改版给过几个人。但我当时是在Twitter-tools 1.0的代码里修改的,如今都2.2了(虽然没觉得添加了什么功能……),一直不方便升级。刚刚又弄了一番,把那段修改的代码拿出来,作为一个独立的插件,和twitter-tools分离开。

用这个插件的前提:
1. 你wordpress所在的服务器可以访问twitter;(如今还有在墙内活着的个人wordpress么?)
2. 你在用Twitter-tools

生成的整理帖,其中的作者、分类、标签,都根据twitter-tools里的设置自动生成。除了题目和日期外,和twitter-tools生成的格式完全没区别。我自己用的时候,把twitter的输出格式稍微改了一下,这个功能也放在插件里了。你可以在程序第61行把调用函数改成fis_gene_digest(),然后到那个函数里去手动改输出格式。

a同学的想法还是要赞一下的。因为我当年开始用twitter,就是之前看到某博客网站有个可以自己写一句话显示在页面顶部的功能,觉得不错,也想在wordpress里写一个,后来研究了一下才决定用twitter来辗转实现的。个么我的twitter主要还是用来写自己的琐碎,对那些号称要多@别人参与讨论的说法,从来都是无视。别人@给我的,其中聊天性质的也不大想re。我的twitter信息同步到了很多其它网站。大家更多的是在friendfeedgoogle buzz上讨论,个人更喜欢friendfeed一些。

Plugin Name: FS Twitter Digest
Version: 0.8
Author: fivestone
Requires at least: 2.7
Tested up to: 2.9

  FS Twitter Digest (15.1 KiB, 552 hits)

== Description ==
As a patch to Twitter-tools, this plugin help users post the twitter digest bwtween the manual dates.
The digests use catalog and tag info as what you set in Twitter-Tools interface. It's all the same as the "Create a daily/weekly digest" function in Twitter-tools, except the title and the date.
If you are a coder and wish to customize the format in the digest, you can change the code at Line 61, and design your own output in the function fis_gene_digest().
This patch was tested successfully under the Twitter-tools version 1.0 - 2.2.1

== Installation ==
1. Ensure you are using the Twitter-tools plugin.
2. Upload the directory "fis-twitter-digest" to the "/wp-content/plugins/" directory
3. Activate the plugin through the 'Plugins' menu in WordPress
4. In menu "Setting -> FS Twitter Digest", generate the digests manually.

== Screenshots ==

[wordpress plugin] Disable Comment RSS

Plugin Name: Disable Comment RSS
Plugin URI: http://code.google.com/p/wp-disable-comment-rss/
Blog URI: http://blog.fivestone.info/?p=664
Description: Disable RSS of posts or comments separately
Version: 0.8
Author: fivestone

  Disable Comment RSS v0.8 (27.1 KiB, 553 hits)

== Description ==

User can choose to disable the RSS for the posts or the comments, or both of them.

Background:

I am using the plugin "Whisper" to make some comments invisible, but they still appear
in the comments RSS. Then I want to disable the comments RSS while keeping the post
RSS valid. There seemed no proper plugin for it, so I write this one.

== Installation ==

1. Upload the directory "disable-comment-rss" to the "/wp-content/plugins/" directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. In menu "Setting -> Disable Comment RSS", choose the RSS which you want to disable.

== Screenshots ==

----------------------------------------
第一次写 wordpress 插件,练练手~~

功能很简单:禁用RSS。上次装了留言悄悄话插件后,一直在找有什么插件能把评论的RSS禁掉,但网上能找到的都是连文章RSS一起禁的,手动改代码又不方便自动升级。不能忍了干脆自己写一个玩,可以在菜单里选择你要禁用文章的RSS还是评论的RSS。

Version 0.8 公测。大家试试哈。过几天稳定的话,改成1.0提交到官网去。我一直以为所谓 wordpress 用户就是 wordpress.com 上的用户,原来不是。。。wordpress.org的fivestone居然被人注册掉了,这个是用来定义作者署名的啊呜呜呜。

[教程] 同步twitter到国内微博客

本文受众:用twitter、有自己的php空间、需要把twitter同步到国内的微博客及某些网站。

原来的方案已经不能用了。虽然国内微博客如嘀咕、做啥……长时间被和谐后终于死灰复燃,虽然复燃后丫们仍然号称自己可以同步到buboo、hellotxt(可以通过这些网站中转到twitter),但实际测试从来没成功过。新方案采用中转程序把twitter上的信息直接发送到嘀咕,在从嘀咕同步到其它国内网站。受twitterfeed的限制,每30分钟同步一次,每次最多5条。

原帖来自月光博客和传说中forgotthemilk写的同步程序CustomURL,但月光的介绍不会编程的人实在看不懂,个么在这里介绍得详细一些。并对代码做了些修改:

1、增加了密码验证,以确保程序不会被别人盗用;
2、从twitter获得的RSS,每句前面会出现多余的"username: "字串,月光的方案里专门在twitterfeed之前写了一段程序过滤,我把过滤功能放到了CustomURL里,以避免程序直接访问twitter,从而让墙内的php空间也能够使用。(but...见ps.1)

需要注册的网站:twitter.comping.fmtwitterfeed.comdigu.com

同步的流程为: twitter -> twitterfeed -> ping.fm -> CustomUrl -> 嘀咕 -> 人人、新浪微博……

1、下载源程序,解压

  twitter_sync.zip (17.6 KiB, 655 hits)

Continue reading

WordPress 的文章收藏插件

某人问起有些blog文章后面那些收藏的按钮怎么弄啊,正好我从上次删掉ShareThis后也一直想再弄个类似的玩玩。网上转了一圈,相关的wordpress插件很多,但大部分(如ShareThis、AddThis、add-to-any、以及我爱水煮鱼的国内精品17fav)都是把主程序建在他们自己的服务器上,在blog里插入一段js,访问它家的服务器,才能中转到进行收藏的网站。

实在搞不懂他们为什么要用这样的架构。每次收藏都访问服务器,大大增加了页面读取的时间,甚至当读者网络不畅(如教育网不能访问ShareThis)以及某些不靠谱的时候,会发生完全不能使用的情况。最不爽的是用户只能在网站提供的那些收藏站点间进行选择,不能自行添加要收藏的地址。而那些插件的提供者也不大可能牛x到要网站们过来给钱求着,才给你添加收藏按钮的程度。个么除了能够享受PR激增的快感外,看不出有这样做的必要。这样的插件,完全可以纯在本机运行。

于是找到了Sociable,完全在本机运行的收藏插件。界面看着也比较清爽,用户可以在列表中选择要显示在页面上的收藏按钮,调整其先后顺序。也可以通过编辑插件的php文件,比较轻松地增加通往新的收藏站点的按钮(如果能在后台界面中管理就更好了)。试着编辑了一下,添加了下列网站的收藏按钮:

Google Reader、豆瓣、九点、校内、开心、嘀咕、饭否、QQ书签、百度搜藏

后面几个服务我从来没用过,甚至觉得显示到它家的收藏按钮会降低本blog的品味 @.@ 但既然是大势所趋,也就无妨顺手加到后台列表里面,大家可以按口味选择。

另外,因为 Google Reader 的Note in Reader功能只能对当前页面的地址起作用,不能在blog首页的文章列表中获取单独某一篇的url,所以专门对此类网站添加了singleonly属性,只有单篇blog页面下,按钮才会显示:

if ( true == $site['singleonly'] && !is_single() ) continue;

Google Reader的图标和Google Mark的图标重复了,看着不舒服,大家有什么建议么?

调整了一下显示页面,使title和图标在同一行显示:

// $html .= "<div class=\"sociable_tagline\">\n";
$html .= stripslashes($tagline);
// $html .= "\n</div>";

修改后的插件在这里提供下载:

  Sociable 3.3.1 fixed (219.2 KiB, 1,198 hits)

如果需要新的收藏按钮又自己懒得动手的,可以在留言里提出,我会酌情添加进去。