我爱水煮鱼 » 互联网 » 同步 WordPress 博客日志到 Follow5

同步 WordPress 博客日志到 Follow5

Follow5 是一个以”我”为中心的分享与联络的平台,Follow5 的目标:让分享更简单、更随意、更轻松。作为一个标准的微博客,显然 Follow5 也支持 API,下面我讲解下如果使用 Follow5 的 API 同步 WordPress 博客日志到 Follow5:

Follow5 的 API 和 Twitter 不同,它需要一个 API Key,这个 API 可以需要去申请才能获得,其他基本操作一样。如果你不想申请,可以直接使用我下面代码中的 API Key

首先我们创建更新状态到 Follow5 的函数,这里我用到了 WordPress 自带的 WP_Http 类(关于 WP_HTTP 的介绍你可以查看这篇文章:如何在WordPress 发起HTTP Requests):

<?php
function update_follow5($status){   
    $username = '你 Follow5 的帐号';
    $password = '你 Follow5 的密码';
 
    $api_url = 'http://api.follow5.com/api/statuses/update.xml?api_key=6891F20C97944160F89FF8B2458DA2BE';
    
    $body = array( 'status' => $status, 'source' => 'FollowWP');
    $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );
    $request = new WP_Http;   
    $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
}
?>

上面代码中,需要在相应的位置输入你的 Follow5 帐号和密码。

然后 WordPress 日志发布之后的 hook 是 publish_post,但是任何一次在 WordPress 后台点击更新日志都会触发这个 action,所以我们要用自定义字段记录是否已经把日志同步到了 Follow5:

<?php
add_action('publish_post', 'publish_post_2_follow5', 0);
function publish_post_2_follow5($post_ID){
    $follow5 = get_post_meta($post_ID, 'follow5', true);
    if($follow5) return;
 
    $status = $_POST['post_title'].' '.get_permalink($post_ID);
    
    update_follow5($status);
    
    add_post_meta($post_ID, 'follow5', 'true', true);
}
?>

把上面两段代码复制到主题的 functions.php 文件即可。当然你也可以直接下载这个文件(wp-follow5.zip)上传到插件目录,然后激活。

标签:

分享到:

请选择你看完该文章的感受:

不错 超赞 无聊 扯谈 不解 路过
  1. 升级到wp2.92后插件出现问题了,只显示网址链接,不显示标题,wp地址www.TTXX.in,微博显示效果www.digu.com/888895(从f5同步的)

  2. Denis,wp-follow5的下载链接你打错了,文字你写的是“wp-follow5.zip”,但是链接上文件的扩展名怎么写成了“.php”?
    下载链接应该是“http://wpcn.googlecode.com/files/wp-follow5.zip”,你改一下吧。下不了的网友们就用这个链接下吧。

  3. 发现问题了,只要是定时发布的文章,出来的结果都是只有文章网址,没有标题!大家看一下我的http://www.digu.com/888895

  4. 自己申请了个Follow5的API,测试成功。谢谢分享!!只要将$api_url = ‘http://api.follow5.com/api/statuses/update.xml?api_key=6891F20C97944160F89FF8B2458DA2BE’;这段代码中的api_key=(你申请的替换掉,然后复制到functiong.php即可),在此感谢水煮鱼。

  5. 额,我按照你说的把上面的代码都扔到function中,然后把删除掉了,替换了帐号密码,但是更新了没效果…郁闷啊…

  6. 找到原因了,只有更新的时候才会同步,重新编辑不会同步,呵呵~