Настройка панелей инструментов WYSIWYG

Описание

Поле WYSIWYG содержит параметр для настройки панели инструментов (кнопок), отображаемых в объекте tinyMCE.

По умолчанию можно выбрать «Полная» или «Базовая», однако панели инструментов можно расширять: создавать собственные, редактировать существующие и даже удалять доступные варианты.

Требования

  • ACF версии 3.5.8 или выше

Фильтр

Для изменения панелей инструментов используется фильтр: acf/fields/wysiwyg/toolbars

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

После добавления новой панели в список она появится в настройках поля WYSIWYG при редактировании группы полей. После выбора панель будет использовать доступные ряды для вывода нужных кнопок.

Использование

<?php

add_filter( 'acf/fields/wysiwyg/toolbars' , 'my_toolbars'  );
function my_toolbars( $toolbars )
{
    // Раскомментируйте, чтобы посмотреть структуру $toolbars
    /*
    echo '< pre >';
        print_r($toolbars);
    echo '< /pre >';
    die;
    */

    // Добавляем новую панель инструментов с названием "Very Simple"
    // — эта панель содержит только 1 ряд кнопок
    $toolbars['Very Simple' ] = array();
    $toolbars['Very Simple' ][1] = array('bold' , 'italic' , 'underline' );

    // Редактируем панель "Full" и удаляем 'code'
    // — удаление элемента массива по значению, а не по ключу:
    // http://stackoverflow.com/questions/7225070/php-array-delete-by-value-not-key
    if( ($key = array_search('code' , $toolbars['Full' ][2])) !== false )
    {
        unset( $toolbars['Full' ][2][$key] );
    }

    // полностью удаляем панель инструментов 'Basic'
    unset( $toolbars['Basic' ] );

    // возвращаем $toolbars — ОБЯЗАТЕЛЬНО!
    return $toolbars;
}

?>
  • Используйте этот фильтр в файле functions.php

Обновлено: 30.09.2026