WP eLDeR Quiz документация v1.4.x
ДокументацияРазработчикамХуки и JS-события

Хуки и JS-события

Плагин расширяется стандартными механизмами WordPress: экшены и фильтры с префиксом elder_quiz_. На фронте квиз генерирует собственные JS-события.

Основные экшены

ХукКогда срабатывает
elder_quiz_result_updatedПосле каждого сохранения прохождения — сюда подключены письма и все интеграции. Аргументы: объект результата, выполненные действия, изменённые колонки, признак записи в БД.
elder_quiz_before_result_updateПеред записью прохождения в базу.
elder_quiz_savedПосле сохранения квиза в редакторе.
elder_quiz_deleted / elder_quiz_before_delete_resultУдаление квиза / строки результата.

Основные фильтры

ФильтрНазначение
elder_quiz_result_payloadPayload заявки для вебхуков, CRM и экспорта — добавляйте и переименовывайте поля.
elder_quiz_result_noteТекст заметки для CRM (amoCRM/Битрикс24).
elder_quiz_telegram_message / elder_quiz_telegram_urlТекст и адрес отправки Telegram-уведомления.
elder_quiz_amocrm_lead / elder_quiz_bitrix_leadДанные сделки/лида перед отправкой в CRM.
elder_quiz_webhook_argsАргументы HTTP-запроса вебхука (заголовки, таймаут).
elder_quiz_mail_recipients / elder_quiz_mail_headers / elder_quiz_send_mailПолучатели, заголовки и само право отправки писем.
elder_quiz_result_variablesСвои переменные %%…%% в текстах результата.
elder_quiz_result_title / elder_quiz_result_descriptionЗаголовок и описание результата перед выводом.
elder_quiz_options / elder_quiz_script_paramsОпции квиза в data-options и параметры публичного скрипта.
elder_quiz_meta_fieldsКарта полей редактора — добавление собственных полей квизу.
elder_quiz_template_override_pathПуть переопределения шаблонов в теме.
elder_quiz_verify_nonceОтключение проверки nonce на публичном endpoint (для крайних случаев кеширования; по умолчанию проверка включена).
elder_quiz_reports_capability / elder_quiz_rest_capabilityПрава на просмотр результатов/аналитики и на REST.
elder_quiz_export_filename / …_header / …_row / …_max_rowsТонкая настройка CSV-экспорта.
elder_quiz_funnel / elder_quiz_question_statsДанные воронки и статистики вопросов в аналитике.
elder_quiz_share_providers / elder_quiz_messengersСписки соцсетей шаринга и мессенджеров формы.
elder_quiz_allowed_mimes / elder_quiz_file_upload_allowed / elder_quiz_upload_subdirТипы файлов, право загрузки и каталог загрузок.
elder_quiz_recaptcha_action / elder_quiz_recaptcha_min_scoreПараметры проверки reCAPTCHA.
elder_quiz_progress_text / elder_quiz_brightness_threshold / elder_quiz_rich_text / elder_quiz_html / elder_quiz_do_outputКосметика вывода: текст прогресса, порог яркости для автопалитры, обработка форматированного текста, финальная разметка, право вывода шорткода.
elder_quiz_settings_field_config / …_tabs / …_password_fields / …_sanitizedРасширение экрана настроек собственными вкладками и полями.

Полный список — grep "apply_filters\|do_action" src/ по каталогу плагина.

Пример: своё поле в вебхуке

add_filter( 'elder_quiz_result_payload', function ( $payload, $result ) {
    $payload['site'] = home_url();
    return $payload;
}, 10, 2 );

JS-события на фронте

Квиз диспатчит события на document; данные — в event.detail:

СобытиеМомент
elder-quiz:startСтарт прохождения (кнопка «Начать» или первый ответ).
elder-quiz:next / elder-quiz:prevПереход между вопросами.
elder-quiz:confirmОтвет на вопрос подтверждён.
elder-quiz:progressИзменение прогресса (процент в detail).
elder-quiz:show_contacts / elder-quiz:show_resultsПоказ формы контактов / экрана результата.
elder-quiz:before_submit / elder-quiz:submit_contactsПеред отправкой / после успешной отправки формы.
elder-quiz:finishПрохождение завершено.
elder-quiz:time_expiredИстёк общий таймер квиза.
document.addEventListener( 'elder-quiz:finish', function ( e ) {
    console.log( 'Квиз завершён', e.detail );
} );

Эти же события автоматически уходят целями в Яндекс.Метрику и пиксели.