2012-10-26 87 views
2

我正在使用建立一個WordPress插件,使用Twitter API - 但我很新與Twitter合作。PHP Twitter搜索api與鳴叫返回按鈕

我現在有一個關鍵字搜索表單和結果工作

<?php 

// get the keyword from url 
$srchterm = $_GET['search_box']; 

// encode it for the safe search 
$srchterm = urlencode($srchterm); 

// search the keyword using Twitter API 
$srch_twitts = "http://search.twitter.com/search.atom?q=".$srchterm.""; 

// use curl to execute the Twitter URL 
$twits = curl_init(); 
curl_setopt($twits, CURLOPT_URL, $srch_twitts); 
curl_setopt($twits, CURLOPT_RETURNTRANSFER, TRUE); 
$twi = curl_exec($twits); 

// here we have the searched result in an array 
$search_res = new SimpleXMLElement($twi); 

//print_r($search_res); 

?> 
<?php 

/* display the data */ 

$i = 0; 

// displays the search keyword 
echo "<p style='padding-left:10px; color:brown'>Your search term is: " . stripslashes($_GET['q']) . "</p>"; 

// tweets in an array. split it by foreach 
// we need only 10 result so, use if condition 
foreach ($search_res->entry as $result) if ($i++ < 10) 
{ 

echo "<div id='tweets'>"; 
echo "<p>$i</p> "; 
echo "<div class='avatar'><img src='". $result->link[1]->attributes()->href. "' /> </div>"; 
echo "<div class='twitcont'>"; 
echo "<div class='name'>". $result->author->name . "</div>"; 
echo "<div class='content'>" . $result->content ; 

// convert the updated date of tweet to seconds 
$twittedSeconds = time() - strtotime($result->updated); 
$names = array('second', 'minute', 'hour', 'day', 'week', 'month', 'year'); 
$seconds = array(1,  60,  3600, 86400, 604800, 2630880, 31570560); 

// find the time difference between present time and tweet time 

if($twittedSeconds > 0) 
{ 
for($j = count($seconds) - 1; $j >= 0 ; $j--) 
{ 
$interval = $seconds[$j]; 
if($twittedSeconds >= $interval) 
{ 
$getTime = round($twittedSeconds/$interval); 
if ($getTime > 1) 
{ 
$names[$j] .= s; 
} 
$time = $getTime. ' ' . $names[$j] . ' ago'; 
break; 
} 
} 
//echo the time difference 
echo "<div class='time'> " . $time . "</div>"; 
} 
echo "</div>"; 
echo "</div></div>"; 

} 

?> 

我的問題: 如何集成鳴叫按鈕,每一個結果 - 這將允許管理員(關鍵字搜索Twitter的後匹配)回覆對話。

請看下面的例子:http://screencast.com/t/2xBkTyUHT

+0

這個後退按鈕有什麼作用? 'retweet'或'reply'? –

+0

該按鈕將回復 – user1776729

+0

您是否看到我的回答? –

回答

1

找到鳴叫ID,然後附上該格式

https://twitter.com/intent/tweet?in_reply_to={tweet id} 

所以鏈接可能是這樣的超鏈接。

$tweet_id = substr($entry->id, strrpos($entry->id, ':')+1); 
echo "<a href=\"https://twitter.com/intent/tweet?in_reply_to={$tweet_id}\">Reply</a>"; 

更多信息可以在這裏找到。 Twitter Web Intents

注意:您將echo "<div id='tweets'>";放在一個循環中。意味着DOM將具有多個具有相同ID的元素。使用class來修正它,或者將它放在循環之外。

+0

工作完美 - 謝謝 – user1776729

+0

我還有一個問題 - 如何添加「轉推」按鈕,在這種情況下這是必要的。 – user1776729

+0

只要注意到推文只發送到我的賬戶(而不是推特ID) – user1776729