Просмотр Исходного

В случае возникновения критичной потребности в изменении текста уведомления в личном кабинете, можно использовать подход с модификацией вывода модуля.

Для этого нужно определить фильтр путем вызова

{code}
\carbon\helpers\ModuleRenderFilter::set_module_filter($module_name, $filter_function)
{code}
где $module_name - это имя класса модуля, включая пространство имен, $filter_function - это функция-обработчик, которая принимает на вход строку-вывод модуля.

h6. Пример замены текста уведомлений

Первый обработчик заменяет текст "Превышен лимит: 50.0". на текст "Вы находитесь в финансовой блокировке. Лимит превышен на 50.0"

Второй обработчик заменяет текст "Уважаемый(ая) ФИО. Имеется подключенный обещанный платёж (Услуга: Платеж: Обещанный платеж ( 0.00 руб. Сумма: 950.00))" на текст "Уважаемый(ая) ФИО. Имеется подключенный обещанный платёж."

{code}
//Зарегистрируем обработчик текста модуля при старте плагина личного кабинета
add_action('carbon_init_plugin',function(){
    \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){
        if(strpos($content, "Превышен лимит")){
            $content_strng=str_replace("Превышен лимит", "Вы находитесь в финансовой блокировке.", $content); //Заменяем текст сообщения
            $content_strng=str_replace(":", " Лимит превышен на ", $content_strng); //Заменяем вторую половину
            return $content_strng;
        }
        return $content;


    });
    \carbon\helpers\ModuleRenderFilter::set_module_filter('carbon\modules\Message', function($content){
        if($char_start=strpos($content, "Имеется подключенный обещанный платёж")) {
            $str_end_char=strpos($content,  "</div>", $char_start);
            $magic=md5(time()."%%%%%%");
            $content=substr_replace($content, $magic, $char_start, $str_end_char);
            $content=str_replace($magic, "Имеется подключенный обещанный платеж.", $content);

        }
        return $content;
    });
});
{code}
Разместите плагин в папке _/app/asr_cabinet/var/wordpress/wp-content/plugins/_ так, чтобы путь к файлу модуля был:

{code}
/app/asr_cabinet/var/wordpress/wp-content/plugins/replacetext/replacetext.php
{code}
Скачать плагин: [^wordpress_example_plugin.zip]




Для того, чтобы замена текста производилась, необходимо активировать плагин в настройках WordPress, для этого зайдите в администраторскую панель, нажмите в левом меню *Плагины*, найдите модуль *Замена текста* и нажмите кнопку *Активировать*.