2013-07-26 47 views
0

我構建了一個小函數來發送聯繫表單結果和錯誤報告。wp_mail()過濾器wp_mail_from不工作

我要求用戶輸入姓名和電子郵件,我希望使用該電子郵件地址出現在我收到的郵件中。

我使用wp_mail過濾器這樣的:

add_filter('wp_mail_from', 'my_mail_from', $gotten_mail); function my_mail_from($email) { return $email; }

它不工作。

我想也許改變smtp地址,而不是使用此過濾器。 搜索如何。

你能幫我嗎?

在此先感謝。

+0

更快得到WordPress相關答案任何人都有同樣的問題? – aleXela

回答

2

意識到這是過了一個多月了,但在這裏不用...

你不能添加自定義的參數到您的通話add_filter這種方式。相反,你將需要獲取輸入的電子郵件在你的回調函數,像這樣:

add_filter('wp_mail_from', 'custom_slug_mail_from'); 

/** 
* Function to change mail_from to input entered via form. 
*/ 
function custom_slug_mail_from($email) { 

    /** 
    * Use the user-submitted email if present. 
    */ 
    if (isset($_REQUEST[ 'email_from_form' ])) 
     return sanitize_email($_REQUEST[ 'email_from_form' ]); 

    return $email; // if no email submitted, use default. 
} 

沒有測試過這一點,但我認爲它應該工作。請務必根據WordPress Theme Guidelines將'custom_slug'更改爲您的主題或插件文件夾的名稱,並將'email_from_form'更改爲表單中輸入字段的名稱。

P.S.您將在wordpress.stackexchange.com

+0

謝謝,我會盡力給你一個反饋。 – aleXela

+0

@MichaelDozark +1回答一個老問題:) – hitautodestruct