2012-12-03 20 views
1

我正在開發Wordpress中的第一個插件。然後其中一個功能需要發送電子郵件。我的插件使用wp_mail函數時發生錯誤()

但是當我調用該函數wp_mail()拋出我這個錯誤:

致命錯誤:調用未定義功能wp_mail()

我應該如何定義我的插件這個功能呢? ?

謝謝!

回答

-1

wp_mail()功能不可用,直到動作plugins_loaded後,如果您嘗試在該點之前使用它,因爲該功能是在這一點上不確定它會拋出一個錯誤。

因此,您不應該簡單地調用wp_mail(),而應該將該進程掛鉤到某個操作,以便在該函數加載完成後執行該操作。

很多插件使用init作爲動作掛鉤來連接他們的動作。 init之後plugins_loaded,所以如果你使用它,它應該工作。

+0

wp_mail()不是插件,它是可插入的函數!位於「wp-includes \ pluggable.php」,它不會工作,直到wp_config.php它將被加載! – K3rnel31

+0

雖然這是一個正確的說法,但在插件中調用wp_config.php並不是確保wp_mail可用的正確方法。正確的方法是確保您使用wp_mail的任何進程在plugins_loaded操作之後發生,此時wp_mail將由另一個插件加載,或者由pluggable.php加載。 – butlerblog

0

只需包含wp-load.php並繼續!

require('../../../wp-load.php'); 

require('wp-load.php'); 

根據您的腳本如何加載。

相關問題