['full', 'basic']]), ]; } public function sanitizeValue($value, array $field) { return wp_kses_post($value); } /** * The HTML of the editor, with paragraphs (wpautop()). Shortcodes in it are not run. */ public function displayValue($value, array $field, array $args): string { return is_string($value) ? wpautop(wp_kses_post($value)) : ''; } public function bindingValue($value, array $field, string $attribute): ?string { if (in_array($attribute, ['content', 'text', 'caption', 'url', 'id'], true)) { return parent::bindingValue($value, $field, $attribute); } return is_string($value) ? wp_strip_all_tags($value) : null; } public function render(array $field, $value): void { if (!empty($field['description'])) { print('

' . esc_html($field['description']) . '

'); } $editorSettings = [ 'media_buttons' => ($field['toggle_show_media_upload_buttons'] ?? '') === 'on', 'teeny' => ($field['toolbar'] ?? '') === 'basic', 'wpautop' => false ]; wp_editor( wpautop($value), $field['field_name'], apply_filters(Plugin::PREFIX_ . 'editor_settings_' . $field['field_name'], $editorSettings) ); } }