Как в buddypress отключить оповещение по email о новых личных сообщениях?
Здравствуйте, скажите как в buddypress можно отключить отправку email оповещения для новых сообщений в профиле пользователя? Я не нашел такой настройки в плагине. Хотелось бы не дублировать такую информацию и на сайте и на почте пользователя. Мне кажется что если так делать то большинство пользователей будут просто отказываться об оповещений, а у меня на сайте есть довольно важные оповещения, от который пользователю лучше не отказываться.
Если вам нужно вообще отказаться об оповещений плагина buddypress, воспользуйтесь следующим кодом:
function onwp_disable_message(){ // отключим отправку email remove_action( 'messages_message_sent', 'messages_notification_new_message', 10 ); // отключим notification remove_action( 'messages_message_sent', 'bp_messages_message_sent_add_notification', 10 ); } add_action('init', 'onwp_disable_message');
Так же нужно учитывать что в профиле предлагается настройка оповещений для каждого пользователя.
Еще приведу пример как изменить программно настройки пользователя с оповещением:
(в примере мы после активации, для пользователя отключаем оповещения)
add_action( 'bp_core_activated_user', 'bpdev_set_email_notifications_preference'); function bpdev_set_email_notifications_preference( $user_id ) { //I am putting all the notifications to no by default //you can set the value to 'yes' if you want that notification to be enabled. $settings_keys = array( 'notification_activity_new_mention' => 'no', 'notification_activity_new_reply' => 'no', 'notification_friends_friendship_request' => 'no', 'notification_friends_friendship_accepted' => 'no', 'notification_groups_invite' => 'no', 'notification_groups_group_updated' => 'no', 'notification_groups_admin_promotion' => 'no', 'notification_groups_membership_request' => 'no', 'notification_messages_new_message' => 'no', ); foreach( $settings_keys as $setting => $preference ) { bp_update_user_meta( $user_id, $setting, $preference ); } //that's it. have fun! }