我在Wordpress 4.7.1上使用WooCommerce。以前,我運行的是4.7.0。當WordPress的自動升級到4.7.1,我突然開始看到檢出失敗重定向到「謝謝」頁面,用戶界面顯示發生了致命的錯誤。PHP無法重新聲明函數/調用未定義的函數
打開調試揭示了以下錯誤:
PHP Fatal error: Cannot redeclare get_cc() (previously declared in .../templates/emails/email-addresses.php:36) in .../templates/emails/email-addresses.php on line 36
我還證實,該文件是從不直接調用require
,require_once
,include
或include_once
。然而,它被稱爲wc_get_template()
。
快速搜索將我帶到this similar question。因此,我增加了以下電子郵件-addresses.php:
if (!function_exists('get_cc')) {
function get_cc($code) {
... function body
}
}
進行此更改後,我現在收到以下錯誤調試日誌:
PHP Fatal error: Call to undefined function get_cc() in .../templates/emails/email-addresses.php on line 32
這意味着,無論出於何種原因, PHP認爲函數get_cc
已經存在,但同時它是未定義的。
我不是最初的開發者。我從一個不可用的承包商手中接管了項目。這似乎很清楚,這個文件是從原來的重大修改。我確信必須保留函數返回的值,所以我不能僅僅評論這個調用。
鑑於上述信息,我有哪些選擇可以解決此問題或解決此問題?
函數定義在該語句中,但是整個語句實際上是在函數調用之後(第36行是定義開始的地方,而且調用在第32行)。 – vbnet3d