Пользовательское Уведомление Buddypress о Post Сохранить

У меня есть то, что я чувствую, это уникальная ситуация здесь, и я размышлял над тем, как сделать это в течение нескольких дней.

Во-первых, я нашел несколько очень полезных тем здесь и в Интернете, таких как

Как добавить пользовательское уведомление

У меня есть собственный тип записи, называемый «соавторы», и я разрабатывал интерфейсную форму и класс php для обработки формы. В значительной степени форма позволяет зарегистрированным пользователям создавать посты из внешнего интерфейса и сохранять их как черновик или публиковать. Я также использую расширение Co Authors, чтобы пользователи внешнего интерфейса могли выбирать различных участников для совместной работы. Все это работает нормально.

Я хочу подключиться к поведению buddypress по умолчанию, чтобы, когда кто-то опубликовал (черновик) публикацию для совместной работы, он уведомлял каждого пользователя на вкладке уведомлений. У меня есть функция для отправки им электронной почты, но я также хочу, чтобы она была на сайте под их уведомлениями.

Я прилагаю свой класс здесь для справки: http://pastebin.com/HWNM8dHq

Но вот мой вопрос. Я вижу, как ДОБАВИТЬ уведомление, но как мне настроить, что сказать и запасные варианты? Я предполагаю, что мне нужна функция с моей собственной component_action?

**************************************************
Buddypress Notifications - Custom
**************************************************/
function add_collaboration_notification($activity, $subject, $message, $content, $user_id) {
//bp_notifications_add_notification
if ( bp_is_active( 'notifications' ) ) {
bp_notifications_add_notification( array(
'user_id'           => $user_id,
'item_id'           => $activity->id,
'secondary_item_id' => $activity->user_id,
'component_name'    => buddypress()->activity->id,
'component_action'  => 'new_at_mention',
'date_notified'     => bp_core_current_time(),
'is_new'            => 1,
) );
}
}
//Hook into BP action or possibly save_post action?

function function_format_notification() {
//use $component_action defined above
//look at friends_format_notifications() in bp-friends.php
}
//Hook in core components notification system

Конечным результатом должен быть каждый раз, когда сообщение сохраняется, и моя классная публичная функция publish () или send_message запускается, чтобы она также показывала этим пользователям уведомление. Вот этот фрагмент из моего класса:

public function send_message($subject, $message) {
if($this->co_authors) {
//verify post is not a revision
if( wp_is_post_revision($this->post_id) )
{
return;
}

$recipients_object = array();

foreach($this->co_authors as $recipientID){
$user_info = get_userdata($recipientID);
$email = $user_info->user_email;
$recipients_object[] = $email;
}

$to = implode(", ", $recipients_object);

// Send it!
wp_mail( $to, $subject, $message );
}

//do_action('send_message');  Create action to plug in to add_notifications?

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector