Social Medias Connect (社交媒体连接) 是qiqiboy编写的Wordpress插件。此插件提供wordpress与其它社交媒体(Social Medias)网站的连接登陆及文章同步、评论同步转发功能。支持微博与网站用户的账户绑定,以及在网站显示最新微博功能。我博客同步微博文章的功能就是使用这个插件实现的。
社交媒体连接免费提供下载,但是部分功能需要收费,例如自定义appkey(显示来源字段)、文章和评论同步等,所以这次介绍XX的方法。
简介
根据社交媒体连接设置界面的帮助显示,每个开通一个微博的自定义API功能需要¥20,打包开通所有微博的自定义功能仅需¥120。选择六个或以上,都只需¥120。
其实如果只是实现了这些简单的功能我个人感觉还是蛮贵的。不过这个是一个没有加密的插件,我就花了一些时间读了源码并进行了修改。
核心代码
这个插件比较难改,多次尝试修改自定义appkey功能失败(这是我最想实现的功能),直接修改数据库提示刷新配置文件。后来阅读了源码慢慢进行测试后找到了几乎每个功能都会调用到的核心代码,修改后即可开启高级功能了。
原始代码如下,这段代码写在SMConnect.php中:
1 2 3 4 5 6 7 8 9 10 11 12 |
/** * 获取微博所支持的功能 * * @param string $weibo_slug 微博网站对应的简码 * @return array */ public function get_supports($weibo_slug=''){ if(in_array($weibo_slug,$this->weibo_array)){ return $this->config[$weibo_slug]['supports']; } return array(); } |
修改思路
上面原始代码的功能就如描述一样,从数据库获取该微博(其实是社交媒体)所支持的功能并以数组的方式返回。因此只需要修改此段代码,将我们需要加入的功能名称合并到数组中就可以XX掉这个插件的收费功能了。
最简单的方式就是将
1 |
return $this->config[$weibo_slug]['supports']; |
修改为
1 |
return array_merge($this->config[$weibo_slug]['supports'], array('customappkey')); |
不过其实部分社交媒体还有额外的功能。查看插件设置中“开启关注默认账号”项的说明显示:“加关注是高级功能(需要付费开启,详见帮助页面),目前仅支持新浪微博和腾讯微博。
”因此对于新浪微博和腾讯微博还要进行额外处理。
额外处理
我的方法是使用switch判断:
1 2 3 4 5 6 7 8 9 |
switch($weibo_slug){ case 'sinaweibo': case 'qqweibo': $add = array('customappkey','addfollow'); break; default: $add = array('customappkey'); break; } |
最后再合并数组并返回:
1 2 |
$supports = array_merge($this->config[$weibo_slug]['supports'], $add); return $supports; |
最终代码
贴上最终的代码更清晰一点吧,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/** * 获取微博所支持的功能 * * @param string $weibo_slug 微博网站对应的简码 * @return array */ public function get_supports($weibo_slug=''){ if(in_array($weibo_slug,$this->weibo_array)){ //添加参数 switch($weibo_slug){ case 'sinaweibo': case 'qqweibo': $add = array('customappkey','addfollow'); break; default: $add = array('customappkey'); break; } $supports = array_merge($this->config[$weibo_slug]['supports'], $add); return $supports; } return array(); } |
小结
这个只是为了一己私欲改出来的,小朋友请不要模仿(笑)。
好了说正经的,有能力的还是支持作者吧。以上修改代码仅供测试,请于24小时内删除哦www。
另: ADBlock Plus的某些规则和这个插件冲突,如果遇到奇怪的页面排版等,注意检查屏蔽规则。
博主,加关注新浪微博没有用啊,测试几次,谢谢啊
博主还真是大神啊
马上去测试
不知道这个插件还能用不,绑定微博账号的时候连接失败
自己去新浪创建个APP吧,网站连接就可以