Как работают события и фильтры

В DCMS-Social события (event) и фильтры (filter) работают по принципу реализованном в системе WordPress. Для новичка это может показаться очень сложным, но поверьте, если понять принцип их работы, сразу станет понятно как они работают, и как ими пользоваться.

События нужны для того, чтобы в определенном месте, вызвать функции привязанные к конкретному событию. По своей сути, события и фильтры одинаковы, за исключением того, что фильтры могут изменять и возвращать переданные параметры, а события только запускают функции в том месте (событии), где они были вызваны.

Простой пример события do_event()

// Создадим функцию для события
function my_city(){ 
    echo 'Волгоград'; 
}
// Привяжем функцию к событию
add_event( 'view_city', 'my_city' );
// Выполним событие
do_event('view_city'); //> выведет Волгоград

Простой пример фильтров use_filters()

// Создадим функцию которая будет менять текст 
function my_filter_1($name) { 
    echo 'Привет ' . $name . ', как дела?'; 
}

// Добавим в фильтр test_filter_name, функцию my_filter_1 
// которая изменит текст
add_filter( 'test_filter_name', 'my_filter_1' );

// Выведем отфильтрованное имя Иван
echo use_filters('test_filter_name', 'Иван'); //> выведет "Привет Иван, как дела?"

Чтобы более подробно ознакомится со всеми хуками (event), посмотрите статью с полным описанием порядка срабатывания событий в движке DCMS-Social