В CMB2 (https://github.com/CMB2/CMB2) можно добавить тип поля, содержащий редактор WYSIWYG, например:
$cmb->add_field( array(
'name' => 'Test wysiwyg',
'desc' => 'field description (optional)',
'id' => 'wiki_test_wysiwyg',
'type' => 'wysiwyg',
'options' => array(
'tinymce' => array(
'toolbar1' => "bold,italic,underline,link,bullist",
),
),
) );
Массив tinymce можно использовать для отправки настроек TinyMCE.init. Однако я хотел бы создать новую кнопку, и документация TinyMCE (https://www.tiny.cloud/docs/ui-components/toolbarbuttons/) предлагает этот пример:
tinymce.init({
selector: '#editor',
toolbar: 'myCustomToolbarButton',
setup: (editor) => {
editor.ui.registry.addButton('myCustomToolbarButton', {
text: 'My Custom Button',
onAction: () => alert('Button clicked!')
});
}
});
Глядя на это, я не уверен, как преобразовать его в массив PHP.