Adding <aside> to the WYSIWYG

时间:2018-06-27 作者:Fredy31

我正在尝试添加<aside> 标记到所见即所得,就像您可以添加blockquote一样。(基本上有一个按钮将元素包装在<aside> 标签)

我似乎无法找到如何通过编程方式添加它,而插件Advanced TinyMCE似乎也不包含该选项。

那么,如何将自定义标记添加到所见即所得?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

TinyMCE有一个“格式”下拉列表,您可以向其中添加选项:

使用此选项,可以向编辑器中添加文本和其他元素的更高级样式格式。此选项的值将在styleselect下拉工具栏项中呈现为样式。

https://www.tinymce.com/docs/configure/content-formatting/#style_formats

您需要做的第一件事是将此下拉列表添加到编辑器中。默认情况下,WordPress不启用它:

function wpse_307115_mce_buttons( $buttons ) {
    if ( ! in_array( \'styleselect\', $buttons ) ) {
        array_splice( $buttons, 1, 0, \'styleselect\' );
    }

    return $buttons;
}
add_filter( \'mce_buttons_2\', \'wpse_307115_mce_buttons\' );
然后您可以使用tiny_mce_before_init 要添加的挂钩the necessary configuration options 致编辑:

function wpse_307115_tiny_mce_init( $init_array ) {
    $init_array[\'style_formats\'] = json_encode( array(
        array(
            \'title\' => \'Aside\',
            \'block\' => \'aside\',
        ),
    ) );

    return $init_array;
}
add_filter( \'tiny_mce_before_init\', \'wpse_307115_tiny_mce_init\' );

结束