还是在修改 Dot-A 这个新主题,打算把添加的几个效果,分别写成文章发出来,希望大家喜欢。
WordPress添加功能[1]-微博更新公告栏
WordPress添加功能[2]-待更新
WordPress添加功能[3]-待更新
WordPress添加功能[4]-待更新
废话少说,切入~~
侧边栏 轮转显示 Twi-t-ter更新 和 腾讯微博更新
说明:原理请参看 hzlzh 之前的两篇文章。网站调取Twi-t-ter信息 和 同步腾讯微博到Wordpress附缓存版
步骤:
1、在 sidebar.php 中添加如下代码:
<div id="microblog"> <ul><li><div><img style="float: left; padding-right: 5px;float: left; padding-right: 5px;" alt="from Twi-t-ter" src="http://img.zlz.im/twitter.gif"><?php function time_since($older_date, $newer_date = false) { $chunks = array( array(60 * 60 , '小时'), array(60 , '分钟'), ); $newer_date = ($newer_date == false) ? (time()+(60*60*get_settings("gmt_offset"))) : $newer_date; $since = $newer_date - $older_date; if($since<86400 and $since>60) { for ($i = 0, $j = count($chunks); $i < $j; $i++) { $seconds = $chunks[$i][0]; $name = $chunks[$i][1]; if (($count = floor($since / $seconds)) != 0) { break; } } $output = "$count{$name}"; if ($i + 1 < $j) { $seconds2 = $chunks[$i + 1][0]; $name2 = $chunks[$i + 1][1]; if (($count2 = floor(($since - ($seconds * $count)) / $seconds2)) != 0) { $output .= " $count2{$name2}"; } } return $output." 前"; }elseif($since<60 and $since=60){ echo '1 分钟 之内'; }else{ printf(the_time('Y-m-j G:i')); } } ?> <?php // Your Twi-t-ter username. $username = "hzlzh"; $feed = "http://search.Twi-t-ter.com/search.atom?q=from:" . $username . "&rpp=1"; function parse_feed($feed) { $step1 = explode("<content type=\"html\">", $feed); $step2 = explode("</content>", $step1[1]); $tweet = $step2[0]; $step3 = explode("<updated>", $step2[1]); $step4 = explode("</updated>", $step3[1] ); $time = $step4[0]; $step5 = explode("<Twi-t-ter:source>", $step4[1]); $step6 = explode("</Twi-t-ter:source>", $step5[1] ); $from = $step6[0]; $all = str_replace(array("<",">"),array("<",">"),array($tweet,$time,$from)); return $all; } $Twi-t-terFeed = file_get_contents($feed); $result = parse_feed($Twi-t-terFeed); list($tweet,$time,$from)=$result; echo ''.strip_tags($tweet).' <span style="font-style:italic;color:#959e87;">'.time_since(abs(strtotime($time)), time()).' From 推TE</span>'; //echo strip_tags($tweet).date("G:i:s A F-jS-Y",$time).strip_tags($from); //去掉注释,得到纯文本 ?></div></li><li> <?php $id = 'hzlzh_com'; $url = 'http://Q.zlz.im/'.$id; $e = ABSPATH . 'tx-microblog/'.$id.'.json'; $t = 3600; //缓存时间 $d = 'http://test.zlz.im/tx-microblog/default.json'; if ( !is_file($e) || (time() - filemtime($e)) > $t ){ copy($url, $e);//本地缓存 } $jsonObject = @file_get_contents($e); $decodedArray = json_decode($jsonObject, true); echo ' <div><img style="float:left; padding-right:5px;" alt="来自 腾讯微博" src="http://img.zlz.im/txwb.gif">'.$decodedArray[contents][0][content].' <span style="font-style:italic;color:#959e87;">'.$decodedArray[contents][0][time].' 来自 '.$decodedArray[contents][0][from].'</span></div>'; ?></li></ul> </div>
2、之后在主题的 JS 文件(比如我放在:jquery.min.js 结尾)中添加如下代码控制轮播效果:
function AutoScroll(obj){ jQuery(obj).find("ul:first").animate({ marginTop:"-50px" },500,function(){ jQuery(this).css({marginTop:"0px"}).find("li:first").appendTo(this); }); } jQuery(document).ready(function(){ setInterval('AutoScroll("#microblog")',4000) }); });
3、最后要设置 css样式(例如:style.css),否则轮播很难看是必然的:
#microblog{height:52px; line-height:18px; overflow:hidden;} #microblog li{height:40px; margin:10px 0;}
就这样吧,有问题 @hzlzh。
- Pingback on 2010/10/07/ 09:02 
期待“同步腾讯微博到WordPress[附 缓存版]”更新
期待其它功能,我不用国内的微博
繼續求騰訊微博同步方法
mark……我还挺想让我那推能滚动起来呢……
漂亮,嘿嘿,研究一下php的xml读取函数 ~
微博又给人民带来福利、、
啥时候把那个腾讯的微博再折腾下一个版本吧.
同步微博 好方法
这项功能被你越来越完善了
博主这个主题越来月耐看
看来我也搞个微博啊,不错的
希望它越来越强大,呵呵。。
不错的想法,把两个较不错的信息动态显示。
我刚才想到了一个办法,不知道行不行,就是判断$url和$e的大小是否相等再更新,如果相同就不拷贝,不过不知道方法可行不可行.
@闲云野鹤: 思路不错,但是不可行,因为每次抓到的数据肯定大小不一样,因为 每次的time 都写的不同,比如发表于13:20分~第二次抓肯定不同。
—————-
但是可以用最近一条发言的前几个字是否和上一次抓的相同来判断是否缓存!所以你的思路可以
先收藏。。
话说我的微薄基本是废话,都不好意思同步了
@A.shun: 还好啦,我twitter上也全都是废话 基本!
貌似现在不行了啊?
没更新?
@点点: 可以的,如果使用了插件,建议直接用插件所在的目录
填填更健康
收藏了. 看看能用不.
$d是什么东西啊?期待版本更新啊
@闲云野鹤: $d 是一个默认的json 也就是在抓取失败的时候显示内容!这样避免这种情况
@HzlzH: 不过我没有看见你上面写有判断失败的时候怎么载入$d啊…
@闲云野鹤: 这个别人没放,我怎么敢写 掉不过来 到时候找我!呵呵
微博还是喜欢用digu的,简单一点,速度快一点,专业一点,尽管有点山寨
还好吧 呵呵
又没折腾成功,败了
额 为什么我的不滚动啊
腾讯微薄的也不出来
皓月闪烁,星光闪耀,中秋佳节,美满时刻!祝你全家幸福~快乐
你的腾讯微博弄得很不错~
额 怎么回事啊 貌似你的也不行啊~
看的心痒痒的~博主能否给我发送一枚腾讯的微博注册码啊?
还是用腾迅的微博吧,
功能很完善了
感谢博主的分享了,十分的牛
有很多“来自”空白啊,难看啊
不错的创意设计啊
腾讯微博 widget不能用啊,显示如下,不能显示出文字
Array ( [contents] => Array (
[0] => Array (
[content] =>
[time] =>
[from] =>
)
[1] => Array (
[content] =>
[time] => 11/25 20:03
[from] => QQ)转播 点评
)
[2] => Array (
[content] =>
[time] => 11/25 19:28
[from] => QQ)转播 点评
)
[3] => Array (
[content] =>
[time] => 11/25 19:19
[from] => QQ)转播 点评
)
[4] => Array (
[content] =>
[time] => 11/25 19:02
[from] => QQ)转播 点评
)
[5] => Array (
[content] => 说腾讯不好,没门
[time] => 11/08 09:15
[from] => 网页)转播 点评
)
[6] => Array (
[content] =>
[time] => 10/26 19:09
[from] => QQ)转播 点评
)
[7] => Array (
[content] => 7f影响效率,分散注意力?
[time] => 10/23 21:44
[from] => QQ)转播 点评
)
[8] => Array (
[content] =>
[time] =>
[from] =>
)
[9] => Array (
[content] =>
[time] =>
[from] =>
)
就是奔此文来的,现在用的你那个插件,自己去研究下这个。3Q
收藏个先..留着以后用