Chcę wyłączyć powiadomienie e-mail, jeśli użytkownik lub administrator zmieni hasło użytkownika.
Po pewnym Googlelingu odkryłem, że muszę utworzyć wtyczkę i zastąpić wp_password_change_notification
funkcję znalezioną w pluggable.php
.
To jest wtyczka i funkcja:
<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/
if ( !function_exists( 'wp_password_change_notification' ) ) {
function wp_password_change_notification() {}
}
?>
Przesłałem plik do folderu wtyczek i aktywowałem go w panelu administracyjnym!
Należy to zrobić za pomocą wtyczki, ponieważ pluggable.php
plik jest ładowany przed functions.php
plikiem.
W każdym razie wydaje mi się, że to nie działa .......
Użytkownik nadal otrzymuje wiadomość e-mail.
Poddałem wszystkie wtyczki i uruchomiłem wtyczkę na czystej instalacji, aby nie było zakłóceń
WP_DEBUG
Nie pokazuje żadnych błędów, jak również !!!
Czy ktoś może mi powiedzieć, co zmienić lub jak to naprawić w inny sposób (oprócz modyfikacji rdzenia :-))
M.
Odpowiedzi:
Aby wyłączyć powiadomienia e-mail użytkownika, dodaj to do wtyczki lub motywu:
FYI
wp_password_change_notification()
kontroluje powiadomienia e-mail administratora, gdy użytkownik zmieni swoje hasłoźródło
Aby wyłączyć powiadomienie e-mail administratora, gdy użytkownik zresetuje własne hasło , utwórz wtyczkę (lub wtyczkę, której trzeba użyć ), używając następującego fragmentu kodu:
Dzięki temu następujący e-mail nie zostanie wysłany na adres e-mail administratora w Ustawieniach> Ogólne:
Ukrywanie tego powiadomienia e-mail musi być obsługiwane przez wtyczkę, ponieważ
pluggable.php
jest ładowana wcześniej niż plik motywufunctions.php
.Jeśli zamiast tego chcesz wyłączyć powiadomienie e-mail użytkownika, że użytkownik pomyślnie zmienił swoje hasło , użyj następującego filtru umieszczonego w
functions.php
:Pomoże to w wysłaniu następującego e-maila:
źródło
wp_update_user()
wwp-includes/user.php
: core.trac.wordpress.org/browser/tags/4.9.5/src/wp-includes/…WordPress domyślnie wysyła powiadomienie, gdy użytkownik jest aktualizowany za pomocą
wp_update_user()
.Próba zastąpienia tego przy użyciu filtrów, modyfikacji
pluggable.php
lub zastąpienia pustą funkcją nie działa.Zamiast tego użyj,
wp_set_password( $password, $user_id )
jeśli nie chcesz, aby e-mail z powiadomieniem był uruchamiany dla użytkowników / administratorów po zresetowaniu hasła.źródło
Skopiuj poniższy kod i zapisz jako disable_email.php. Następnie umieść ten plik w katalogu „wp-content / plugins /”. I aktywny z panelu administracyjnego.
źródło
Inne odpowiedzi są błędne, ponieważ wyłączają wysyłanie wiadomości e-mail po zmianie wiadomości e-mail, a nie po zmianie hasła.
Dodanie poniższego kodu do pliku functions.php pod aktywnym motywem (lub alternatywnie we wtyczce) powinno działać. Pracował dla mnie dla wersji 4.6.1
Zobacz oficjalną dokumentację
źródło
Użyj funkcji wp_set_password () zamiast wp_update_user (), aby zaktualizować hasło, ponieważ nie spowoduje to wysłania powiadomienia e-mail.
źródło