Плагин: отправка сообщений всем сразу – BP Mass Messaging
Продолжая тему, затронутую в предыдущей записи, об удобстве и необходимости использования массовых уведомлений, нельзя не сказать о его одном недостатке: пользователь сможет узнать о вашем уведомлении лишь зайдя на ваш сайт и после авторизации.
Для того, чтобы все пользователи получили сообщение с текстом уведомления, вам необходимо установить плагин BuddyPress Mass Messaging, который я нашел когда-то в форумах на BP.org, а потом вдруг на wpmu.org. После установки и отправки сообщения каждый пользователь получит также уведомление себе на email, что заставит его перейти на сайт, авторизоваться и прочитать (а это даст вам трафик).
Плагин принадлежит Jeremy Litten. Мною переделан, а ниже – скриншот получившегося.
После установки плагина, перейдите в меню “BuddyPress → Массовые сообщения”, где вы сможете ввести тему и текст соответствующего сообщения. Каждые 50 сообщений в процессе отправки делается пауза на 10 секунд, чтобы не перегружать чрезмерно ваш сервер. И кстати, вы сами (точнее авторизованный администратор) это сообщение не получите.
Хочу обратить ваше внимание на то, что этот плагин может занять достаточно много времени для выполнения. Поэтому не перезагружайте страницу, а просто дождитесь выполнения операции.
Мною были внесены следующие изменения:
- внесена зависимость от работы самого BP – до моего вмешательства плагин загружался до BP, что вызывало ошибки;
- убрана привязанность к таблицам с префиксом “wp_” – я внедрил универсальный вариант, который использует именно тот префикс, который вы указали при создании сайта;
- так как админов может быть несколько, то я убрал привязку к админу с id=1, теперь работает с любым авторизованным админом;
- подменю плагина перенесено из меню Настройки в меню BuddyPress, думаю, там ему и место;
- сделан перевод – прямо в коде, потому что выносить 5 фраз нет смысла.
Извините, этот файл сильно устарел и больше нет возможности его скачать.
UPD 05.08.2010: Спасибо Сергею Бирюкову, который прислал мне исправленный вариант плагина, где ошибки из-за проблем с установкой куков во время отправки сообщений больше нет. Архив обновлен.
В админке не вижу его конфигурирование. WPMU3.1+BP1.2.8
Потому что плагин не обновлен для совместимости с новой версией. Его меню кануло в лето: вместо хука на admin_menu надо теперь навешиваться на network_admin_menu.
Доброго времени суток. У меня к вам такой вопрос… Не могу найти хук (action или filter) для отправки сообщений конкретному пользователю. Хочу создать функцию которая будет позволять отправлять сообщение пользователю не только со своей странице но и со странице пользователя кому будет адресовано данное сообщение, а так же в общем списке пользователей у каждого пользователя что бы тоже была ссылка типа “отправить сообщение {username}”. Подскажите какой хук использовать для отправки приватного сообщения конкретному пользователю.
Для этого есть функция:
Спасибо, не ожидал что так быстро ответите. В итоге решил сделать ещё проще, просто вставить ссылку на страницу members/{currant_user}/messages/compose/ где в поле “Кому (логин или имя друга)” будет автоматически прописано имя кому будет адресовано письмо
Еще надо wpnonce передавать. С ходу сказать не могу, гляньте мой плагин CD Avatar Bubble – там в главном файле формируется ссылка на написание сообщения (как раз так, как вы решили сделать), кажется, я там внедрил это.
Да, wpnonce нужен. Всё оказалось ещё проще. Оказалось что в BP уже есть встроенная функция bp_send_private_message_button которая генерируют ссылку содержащую wpnonce и user_name и передаёт эти параметры в форму для отправки сообщения. В итоге просто повесил эту функцию на действие add_action(‘bp_directory_members_actions’,’bp_send_private_message_button’);
P.S. Если вам интересно то эта функция лежит в файле bp-messages-template.php