Улучшите свой опыт работы с ACF: настройка элементов панели инструментов WYSIWYG

Advanced Custom Fields (ACF) — это мощный плагин WordPress, который позволяет добавлять настраиваемые поля к содержимому вашего веб-сайта. Одной из его ключевых особенностей является редактор WYSIWYG («Что видишь, то и получаешь»), который предоставляет знакомый интерфейс текстового процессора для создания контента. В этой статье мы рассмотрим различные методы настройки элементов панели инструментов в редакторе ACF WYSIWYG, что позволит вам адаптировать их к вашим конкретным потребностям. Итак, приступим!

Метод 1: использование фильтра «acf/fields/wysiwyg/toolbars».
Плагин ACF предоставляет удобный фильтр под названием «acf/fields/wysiwyg/toolbars», который позволяет изменять конфигурацию панели инструментов. Вы можете добавлять, удалять или переупорядочивать кнопки на панели инструментов, манипулируя массивом кнопок и их свойствами. Вот пример фрагмента кода:

function my_acf_wysiwyg_toolbar($toolbars) {
    // Customize the "Basic" toolbar
    $toolbars['Basic'][1] = ['formatselect', 'bold', 'italic', 'underline'];
    // Add a new toolbar
    $toolbars['My Custom Toolbar'] = [
        ['link', 'unlink', 'bullist', 'numlist'],
        ['blockquote', 'code', 'removeformat'],
        ['undo', 'redo'],
    ];
    return $toolbars;
}
add_filter('acf/fields/wysiwyg/toolbars', 'my_acf_wysiwyg_toolbar');

Метод 2: использование фильтра «acf/fields/wysiwyg/toolbars» с условной логикой
Вы также можете использовать условную логику для изменения элементов панели инструментов в зависимости от определенных условий. Это позволяет вам иметь разные конфигурации панели инструментов для разных экземпляров полей ACF. Вот пример:

function my_acf_wysiwyg_toolbar($toolbars) {
    if (get_field('enable_advanced_toolbar')) {
        // Add advanced toolbar elements
        $toolbars['Basic'][1][] = 'subscript';
        $toolbars['Basic'][1][] = 'superscript';
    }
    return $toolbars;
}
add_filter('acf/fields/wysiwyg/toolbars', 'my_acf_wysiwyg_toolbar');

Метод 3: расширение класса поля ACF WYSIWYG
Для более сложной настройки вы можете расширить класс поля ACF WYSIWYG и переопределить его методы. Этот метод дает вам полный контроль над поведением и внешним видом поля. Вот пример:

class My_Custom_WYSIWYG_Field extends acf_field_wysiwyg {
    public function __construct() {
        parent::__construct();
        $this->name = 'my_wysiwyg';
        $this->label = 'My WYSIWYG';
        $this->defaults['toolbar'] = 'full'; // Set the default toolbar
    }
}
new My_Custom_WYSIWYG_Field();

Настроить элементы панели инструментов WYSIWYG в ACF очень просто благодаря предоставленным фильтрам и возможностям расширения. Используя эти методы, вы можете адаптировать панель инструментов в соответствии с вашими потребностями в создании контента и улучшить взаимодействие с пользователем. Поэкспериментируйте с различными конфигурациями кнопок и сделайте редактор ACF WYSIWYG по-настоящему своим.