开始前我需要说明一下,这篇文章并不是教你如何取得赞助,也不是如何决定比赛的奖品,更不是为博客比赛订立规则。 这篇文章只是想告诉你如何在WordPress博客中解决博客比赛的最大问题——怎样确定RSS订阅者数量。
出现的问题
如果每个比赛参与者都订阅了你的RSS Feed,我们就难以确定RSS订阅量了。 如果不能确定RSS订阅量,每个人都可以说他订阅了你的feed,然后他们就可以自动进入比赛了。
解决方案
有一个方法可以解决这个问题,你可以在RSS feed中加入一些特定的比赛代码,并让这些代码不在页面上显示。 这样的话,每个参与者都不得不从你的feed中抓取这些代码,并通过评论提交代码以证明他们的确订阅了你的RSS feed。 你只需要按照下面两个步骤进行就可以以最轻松的方式执行这个解决办法:
1. 在RSS feed中添加特别比赛代码
你只需要在以下代码段中加入主题中的functions.php。下面的代码会使RSS feed中每篇文章的结尾处显示“Special Contest Code: Yourcodehere”的字样,却不会显示在网页上。
function contest_post_filter($content) {
if ( is_feed() )
return $content.'Special Contest Code: yourcodehere';
else
return $content;
}
add_filter('the_content','contest_post_filter');
需要将“yourcodehere”替换成你自己指定的比赛代码。
2. 通过内部代码自动审核所有评论
只要将以下代码段添加到你的functions.php中,就可以在评论中自动隐藏所有RSS确认代码:
function contest_comment_filter($comment_text) {
return str_replace('yourcodehere', '[code hidden]', $comment_text);
}
add_filter('get_comment_text','contest_comment_filter');
当比赛结束时,你可以锁定文章中的评论,然后移除以下代码,这样所有的确认信息就会重新出现,以供验证:
add_filter('get_comment_text','contest_comment_filter');
为什么要这么做?
因为这样,一直到比赛结束前,你都不必再考虑比赛的事情了。 你的特别比赛代码是隐藏的,这就不存在欺骗问题。 比赛结束后,你只要使这些比赛代码变成可见状态,计算一下比赛参与者,就可以(随意)选择冠军了。
===============
Ven语:06年的时候我帮某大学开发一套博客竞赛系统,当时考虑到追加RSS跟踪,但是那时我还不了解其中的原理。如果这篇文章早3年出现就好了。
分类:新闻资讯