wordpress - я не могу вызвать bp_notifications_add_notification

Я новичок в разработке WordPress и хочу начать разработку личного плагина, который я буду использовать на своем сайте. мой сайт использует wordpress и buddypress. В buddypress есть уведомления, что очень хорошо. но я хочу, чтобы мой плагин также добавлял уведомления в buddypress и отображался для участников.

Я видел документацию здесь: bp_notifications_add_notification()

пока мой код ниже. Обратите внимание, что я удалил некоторые части плагина, чтобы упростить его.

<?php
/*
Plugin Name: Test
Description: personal plugin for my site
Version:     1.0.0
*/

function sample_add_notification( $u_id ) {

    $args = array(
        'user_id' => $u_id
    );

    bp_notifications_add_notification( $args );
}

sample_add_notification( 2 ); //this line should write a new notification for user_id: 2

?>

но когда я запускаю его. он говорит:

Неустранимая ошибка: вызов неопределенной функции bp_notifications_add_notification() в C:\xampp\htdocs\htbcph\wp-content\plugins\test\test-plugin.php в строке < сильный>14

Я думаю, проблема в том, что мне нужно сначала включить компонент. но как я это сделаю? пожалуйста, дайте мне ссылки на хорошие учебники, которые помогут мне. Спасибо


person jks    schedule 28.03.2015    source источник
comment
вы должны прикрепить свою функцию sample_add_notification к определенным хукам.   -  person jogesh_pi    schedule 28.03.2015


Ответы (1)


Вы должны прикрепить свою функцию с помощью hook/action

function sample_add_notification( $u_id ) {

    $args = array(
        'user_id' => $u_id
    );

    // Make sure the noticications has been activated
    if ( bp_is_active( 'notifications' ) ) {
        bp_notifications_add_notification( $args );
    }
}
add_action( 'bp_activity_sent_mention_email', 'sample_add_notification', 10, 1 );

Где add_action выполняется:

  1. bp_activity_sent_mention_email – это предопределенная ловушка/действие,
  2. sample_add_notification ваша собственная определенная функция, которая будет вызываться с хуком
  3. 10 Приоритет
  4. 1 Количество переданных аргументов, вы передали только $u_id, так что это 1
person jogesh_pi    schedule 28.03.2015
comment
спасибо, чувак, значит ли это, что мне не нужно будет добавлять какие-либо включения или требования .. мне просто нужно узнать об использовании хуков? - person jks; 28.03.2015
comment
@jks да, вам нужно научиться использовать хуки, создавать собственные хуки, фильтры и т. д. А также вам нужно быть более внимательным с предопределенными хуками. - person jogesh_pi; 28.03.2015
comment
@jks Я еще не разработал плагин для buddypress, но сделал для wordpress дополнительные плагины. Между ними не такая большая разница. - person jogesh_pi; 28.03.2015