0
我有這個腳本,從Facebook圖表拉動facebook喜歡並將它們用作帖子的元值。它的工作原理。問題是它只更新了5個最新帖子的元值,我無法弄清楚爲什麼。
我做了什麼:我試圖安裝一個全新的Wordpress安裝腳本,沒有插件,默認二十二個主題,本地主機,但問題依然存在。腳本只能用於最新帖子
完整的腳本在這裏:http://pastebin.com/f6LqgqQS
網站網址:http://wisefiction.com/recent
(可能加載緩慢,劇本上的init現在運行的,而不是wp_cron用於調試的目的。如果你喜歡/不象職位並重新加載頁面你。就會發現fb_likes_count只有前五名職位的變動)
$args=array(
'post_type' => 'post',
'post_mime_type' => '',
'post_status' => 'publish'
);
$posts_array = get_posts($args);
foreach($posts_array as $post):
$permalink = get_permalink($post->ID);
$idpost = $post->ID;
$data = file_get_contents('http://graph.facebook.com/?id='.$permalink);
$json = $data;
$obj = json_decode($json);
$like_no = $obj->{'shares'};
$meta_values = get_post_meta($idpost, 'fb_likes_count', true);
if($like_no == null){$like_no = 0;}
update_post_meta($idpost, 'fb_likes_count', $like_no, false);
我現在試過了,它似乎部分工作。在60個職位中,有40個現在受到影響。當我批量發佈在本地主機,我得到了「file_get_contents():未能打開流:HTTP請求失敗!HTTP/1.0 403」錯誤。但是5分鐘後,一切都恢復正常,**全部**帖子都被處理了。但是再次,我只能在本地主機請求一個圖形url。但是,假設並非所有帖子都受到影響的原因是否是正確的,因爲file_ get_contents被太多帖子超載了? – Ming
不太確定。但如果它是間歇性的,我猜想Facebook會限制你可以提出的請求數量。似乎比'file_get_contents'更有可能無法工作你的機器。 403意味着它被遠程服務器禁止。 – Hobo
是的,我現在再次檢查,現在幾乎所有的帖子都受到影響,雖然不是全部,但似乎有所不同。我會將這個答案標記爲已接受的答案,因爲它解決了最初的問題。我會嘗試找到一種方法來一次運行一個帖子的腳本,並且只有當有人點擊類似按鈕時。這會限制請求。或者我可以嘗試捲曲,這會限制請求嗎? – Ming