Append Font Family in TinyMCE

时间:2016-09-21 作者:Howdy_McGee

我正在尝试将字体系列附加到下拉列表中已经存在的任何预填充字体格式。我可以保持variable of defaults 并附加到这一点上,但我正试图使其尽可能动态,如果默认值在未来发生变化。到目前为止,我看到的所有教程都将默认值替换为以下内容:

function tinymce_testerski( $init ) {
    $init[\'font_formats\']   = \'Arial=arial,helvetica,san-serif\';

    return $init;
}
add_filter( \'tiny_mce_before_init\', \'tinymce_testerski\' );
问题是font_formats 中不存在密钥$init 大堆我希望会有这样的设置/选项style_formats_merge 但我在TinyMCE文件中找不到这样的案例。

我对所有的解决方案都持开放态度,这些解决方案允许我有效地将字体系列附加到“字体系列”下拉列表中。

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

您应该使用styleselect 输入自定义格式的TinyMCE设置数组。此选择对于自定义样式和增强非常有用。您可以在中找到此解决方案的所有相关信息this answer 在同一上下文中提问#128931。

Via公司fontselect

但是如果您想使用字体选择,那么请使用以下源代码作为示例。结果是,编辑器添加了一个span标记,其中包含内联样式中的字体设置,如<span style="font-family: arial, helvetica, sans-serif;">Content</span>.

下面的示例源创建此结果,在屏幕截图中可见。enter image description here

添加字体选择首先添加关键字字符串,以获得字体选择按钮。

/**
 * Add the "font family" button.
 */
add_filter( \'mce_buttons_2\', \'fb_mce_editor_buttons\' );

function fb_mce_editor_buttons( $buttons ) {

    array_unshift( $buttons, \'fontselect\' );
    return $buttons;
}
更改字体列表现在您应该可以看到所有字体的默认列表。这个documentation 还包括默认值列表、字体列表。要更改此列表,请使用以下示例。

/**
 * Add fonts to the "Font Family" drop-down.
 */ 
add_filter( \'tiny_mce_before_init\', \'fb_mce_before_init\' );

function fb_mce_before_init( $settings ) {

    $font_formats = \'Andale Mono=andale mono,times;\'
                  . \'Arial=arial,helvetica,sans-serif\';
    $settings[ \'font_formats\' ] = $font_formats;

    return $settings;

}
默认字体

\'Andale Mono=andale mono,times;\'+ \'Arial=arial,helvetica,sans-serif;\'+ \'Arial Black=arial black,avant garde;\'+ \'Book Antiqua=book antiqua,palatino;\'+ \'Comic Sans MS=comic sans ms,sans-serif;\'+ \'Courier New=courier new,courier;\'+ \'Georgia=georgia,palatino;\'+ \'Helvetica=helvetica;\'+ \'Impact=impact,chicago;\'+ \'Symbol=symbol;\'+ \'Tahoma=tahoma,arial,helvetica,sans-serif;\'+ \'Terminal=terminal,monaco;\'+ \'Times New Roman=times new roman,times;\'+ \'Trebuchet MS=trebuchet ms,geneva;\'+ \'Verdana=verdana,geneva;\'+ \'Webdings=webdings;\'+ \'Wingdings=wingdings,zapf dingbats\'

TinyMCE 3 vs 4

小提示,这只在TinyMCE 4*时起作用,此版本越小,您必须使用键theme_advanced_fonts 而不是font_formats.

使用谷歌字体answer 应该提供帮助。