2011-10-21 16 views
1

這裏是情況:我有一個程序生成.csv文件,其中包含標題和帖子文本字段(根據http://wordpress.org/extend/plugins/csv-importer/other_notes/)。如果需要的話,我實際上可以修改程序的輸出。定期運行WordPress插件以導入數據

我現在可以手動登錄到WordPress管理控制檯,轉到CSV導入器插件選項卡,選擇文件並導入包含在文件中的文章。

但是,我想自動運行此任務 - 一切將在服務器上運行(應用程序生成(CSV)數據,應用程序/腳本導入數據),而不是遠程文件上傳等......任何想法如何做它?

+1

大部分來源是在這裏:http://plugins.svn.wordpress.org/csv-importer/tags/0.3.6/csv_importer.php - 它看起來像大部分的工作在開始'函數post()'。乍一看,我不認爲會有一個微不足道的方法來實現這一點 - 你可能不得不通過cURL來模擬POST表單(這可能很複雜且容易出錯),或者編寫自己的版本不需要實際的HTTP post的'post()'函數。 –

+0

如何通過cURL錯誤發生'POST'?無論如何,真正查找源代碼的榮譽;) – vzwick

回答

0

我相信BlogSense Automation Tools提供了一個CSV導入模塊,具有自動化的能力。只要你有新的csv文件被生成,並且帖子的標題是唯一的,那麼自動化應該會流動。

否則它會對插件進行一些重大修改;在這個文件中,你想讓它嘗試使用CURL加載一個本地靜態csv文件(以取代從你的硬盤手動加載一個文件的需要),然後使用內部的wordpress cronjob系統從那裏執行進程。

下面是我用來每分鐘執行一次wordpress內部cronjob的代碼。您可以將第二個時間間隔更改爲更大的時間。

add_filter('cron_schedules', 'add_per_min'); 

function add_per_min() { 
    return array(
    'perminute' => array('interval' => 60, 'display' => 'Every Minute'), 
    ); 
} 

if (!wp_next_scheduled('the_name_of_my_custom_interval')) { 
    wp_schedule_event(time(), 'perminute', 'the_name_of_my_custom_interval'); 
} 

add_action('the_name_of_my_custom_interval', 'the_function_to_run_here'); 
+0

如果10分鐘內未訪問您的網站會發生什麼情況? – chifliiiii