对于自定义主题,编辑器希望能够在帖子编辑器中选择三种不同的字体大小。
我考虑使用标准字体大小并定义两个额外的类:
<p class="bigger">
以及
<p class="smaller">
因此,我在中定义了以下格式
tiny_mce_before_init
:
$style_formats = array(
array(
\'title\' => \'bigger paragraph\',
\'block\' => \'p\',
\'exact\' => true,
\'classes\' => \'bigger\',
),
array(
\'title\' => \'smaller paragraph\',
\'block\' => \'p\',
\'exact\' => true,
\'classes\' => \'smaller\',
),
);
格式确实会显示在“格式”下拉框中并执行操作。
不幸的是,它们可以一起选择,这会导致如下标记:
<p class="bigger smaller">
我哪里做错了?
最合适的回答,由SO网友:josh 整理而成
您的代码工作正常。这个style_formats
过滤器允许您通过类名添加其他样式。一个元素有多个类(不限于两个)是完全有效的。
我已经和tinymce编辑合作多年了;我可以诚实地说,我不知道“确切的”论点到底有什么作用。我从来没有遇到过这样的情况,它会带来不同。但是,我可以肯定地说,它并没有限制html元素只有一个类。
如果您试图实现的是用户放大/缩小字体大小的方法;然后你应该重新考虑你的方法。我会制作两个新的编辑器按钮(可能是上下箭头);并编写代码来放大或缩小元素的字体大小。
或者,您可以创建三个新的编辑器按钮(每个字体大小一个),单击这些按钮时,会删除元素上的任何现有字体大小类,并添加新的。
总之,我不相信您当前的方法会将元素限制为单个类名。我会考虑一种新的方法。有很多文章详细介绍了如何添加新的编辑器按钮。