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 по-настоящему своим.