2013-05-09 70 views
1

我確實爲我的wordpress站點中使用主題的腳本創建了一個cron作業。當用cron調用腳本時,它不能正常工作。該腳本中的某些功能無法識別,因爲腳本沒有看到它們並將它們報告爲未定義的功能。在wordpress網站上的cron作業正在產生致命錯誤

Fatal error: Call to undefined function get_option() 

我是否需要包括更多內容,或者如何使該腳本正常運行與cron工作?

+0

你包括WP的東西?你是否包含了絕對路徑?請記住,cron作業與運行在Web服務器下的腳本有不同的工作目錄。 – 2013-05-09 20:11:37

+1

您應該考慮使用[** wp_cron **](http://codex.wordpress.org/Function_Reference/wp_cron),這是一款適用於Wordpress的psuedo cron函數。 – adeneo 2013-05-09 20:11:47

+0

在Cron Job運行的同一文件中是否定義了'get_option()'?如果不是,那麼您可能通過'$ _SERVER'變量(例如:'require_once($ _ SERVER ['DOCUMENT_ROOT']。'path/to/file')'引用了包含'get_option()'的文件。 ,[$ _SERVER變量爲空](http://stackoverflow.com/questions/2100545/serverdocument-root-does-not-work-in-the-php-script-running-through-cron)每當一個頁面通過Cron作業加載 您可能想嘗試使用'__file__'代替 – Chris 2013-05-09 20:14:57

回答

1

您可以使用wp_cron(),WordPress的內建的cron功能:http://codex.wordpress.org/Function_Reference/wp_cron

否則,get_option不被識別的問題,可能是因爲沒有加載WordPress的核心。你需要需要wp-load.php在外部PHP腳本與該文件的絕對路徑:

require_once("/path/to/wordpress/wp-load.php");