2017-07-27 105 views
0

我想更改如果電子郵件地址已註冊,則顯示WooCommerce註冊錯誤消息。更改WooCommerce註冊錯誤消息

爲了使其安全更新我在孩子執行該代碼(不工作代碼)的functions.php

function ra_change_error_messages($errors, $username, $email) { 

    if (email_exists($email)) { 
     return new WP_Error('registration-error-email-exists', __('sdfhasd il address. Please log in.', 'woocommerce')); 
    } 

} 

add_filter('woocommerce_registration_errors', 'ra_change_error_messages', 10, 3); 

我想過濾的值可以在這裏找到在線95:http://hookr.io/plugins/woocommerce/3.0.6/files/includes-wc-user-functions/

請注意:我知道可以修改文件includes-wc-user-functions.php。但是那不會是更新證明。

謝謝! :)

+0

是你的代碼拋出的錯誤?是或不是,總是更好地更準確地說明它創建的行爲,而不是「不工作」。我想嘗試的是將'var_dump($ errors)'放在你的函數中,併產生你的「現有的郵件錯誤」來查看裏面的內容。然後嘗試在你的過濾函數中修改它,或者返回一個類似的結構化輸出。 – Kaddath

+0

嗨@Kaddath:感謝您的評論。基本上什麼都不做。這只是無視我的代碼。當我使用var_dump($ errors)時,我看不到網站行爲的任何變化。 –

+0

'var_dump'很方便,但會在「被調用的地方」打印東西,大部分時間都在原始HTML中,並且可以通過覆蓋等方式隱藏,但是如果文件被ajax調用,在ajax調用結果(瀏覽器工具中的網絡選項卡)中查看它。您可以在之前回顯「blablablah」之類的其他值,以幫助您在源代碼中進行搜索。 – Kaddath

回答

1

試試這個功能,以下爲變更登記錯誤

enter image description here

function my_woocommerce_add_error($error) { 
    return str_replace('An account is already registered with your email address. Please log in','sdfhasd il address. Please log in.',$error);  
} 
add_filter('woocommerce_add_error', 'my_woocommerce_add_error'); 
+0

嘿@Shital Marakana:謝謝,但不幸的是,這並不適用於我的情況。有什麼奇怪的:需要WooCommerce很長的時間來拋出錯誤信息... –

+0

請檢查更新的答案 –

+0

不工作:(可能是該功能沒有執行?(請參閱下面的問題的意見) –