2013-06-01 55 views
1

我只是试图在wp admin post editor中保留我的<u>标签和<b>标签。 但是,当从可视视图切换到文本/ html视图时,它们将被更改为<span style="text-decoration: underline;"></span>,这很烦人,并且在我的情况下跨度会有问题。允许在tinymce编辑器中使用html 5标签编辑wordpress,当切换到编辑器中的可视标签并返回

什么是最好的方式去做这件事,我已经尝试了一些插件,这不是帮助和添加和扩展有效元素...但尚未成功!

如果你们中的一些天才能够指引我朝着正确的方向,那将会非常有帮助。

我也有一个不同的问题;

有没有一种简单的方法来添加一个样式按钮,文本编辑器,将改变形式的方向从LTR和RTL编辑的文本视图, 我很容易地通过在改变CSS这样做开发人员工具或萤火虫!但我正在寻求内置的东西!

回答

1

您只需禁用inline_styles选项(这是在已经被包含WordPress的TinyMCE的版本默认开启):

add_filter('tiny_mce_before_init', function ($options) 
{ 
    $options['inline_styles'] = false; 

    return $options; 
}); 

虽然这工作,我强烈建议反对。 This use of the u element has been deprecated in HTML5,在这种情况下被认为是非语义的。

如果你可以解释你为什么试图这样做,也许我们可以想出一个更好的解决方案。

P.S.关于这个over at the TinyMCE forums有一个很好的讨论。

+0

我认为它是语义的,如果不是,我可以使用b标签来代替,但跨度会导致麻烦,因为我有函数计算p文本而不是跨文本,如果将其添加到functions.php中致命错误!!!!!!!!!!!!!!!!!那它属于哪里? – webestdesigns

+0

@webestdesigns - 如果您使用的是5.3以下的PHP,则必须使用命名函数。 –

+0

哎呀,感谢似乎现在工作正常,但有什么缺点是要考虑禁用这个? – webestdesigns

0

你可以简单的init有以下

// Override internal formats 
    formats: { 
     bold : {inline : 'b' }, 
     italic : {inline : 'i' }, 
     underline : {inline : 'u'} 
    }, 

然后TinyMCE的将把粗体,斜体下划线为B,U和i-标记编辑器。

+0

在什么功能或过滤器我添加? – webestdesigns

+0

这需要放在所有配置参数列表中的tinymce init函数中 – Thariama

0

我对这一切都比较陌生,我无法弄清楚如何做到这一点,这里是代码。从核心类-wp-editor.php文件中拉出它。那就是:

function my_tiny_mce_tweaks($first_init) { 
    $first_init['formats'] = '{' . 
     'alignleft: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"left"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "alignleft"}' . 
     '],' . 
     'aligncenter: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"center"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "aligncenter"}' . 
     '],' . 
     'alignright: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"right"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "alignright"}' . 
     '],' . 
     'strikethrough: {inline: "del"},' . 
     'underline: {inline: "u"}' . 
    '}'; 

    return $first_init; 
} 
add_filter('tiny_mce_before_init', 'my_tiny_mce_tweaks'); 

请注意:这只是改变下划线按钮的行为,如果你要粗体,斜体为bi标签,添加@ Thariama对代码注释。