1

我只是想在 wp 管理员帖子编辑器中保留我的<u>标签和标签。<b>但是,当从可视视图来回切换到 text/html 视图时,它们被更改为<span style="text-decoration: underline;"></span>这很烦人,并且在我的情况下跨度将是有问题的。

解决此问题的最佳方法是什么,我尝试了一些无济于事的插件,并添加和扩展了有效元素……但到目前为止还没有成功!

如果你们中的一些天才能指出我正确的方向,那将是非常有帮助的。

我还有一个不同的问题;

有没有一种简单的方法可以向文本编辑器添加样式按钮,该按钮将在编辑器的文本视图中从 ltr 和 rtl 更改表单的方向,我通过更改开发人员工具或 firebug 中的 css 很容易做到这一点!但我要求内置的东西!

4

3 回答 3

1

您只需禁用该inline_styles选项(在 Wordpress 附带的 TinyMCE 版本中默认打开):

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

    return $options;
});

虽然这可行,但我强烈建议不要这样做。这种u元素的使用在 HTML5 中已被弃用,在这种情况下被认为是非语义的。

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

PS在 TinyMCE 论坛上对此进行了很好的讨论。

于 2013-06-02T03:42:42.147 回答
0

我对这一切都比较陌生,我不知道该怎么做,这里是代码。从核心 class-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 的注释添加到代码中。

于 2016-05-04T13:48:21.017 回答
-1

您可以使用以下内容简单地初始化您的编辑器

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

然后 Tinymce 会将粗斜体下划线视为 b、u 和 i-标签。

于 2013-06-03T08:09:02.713 回答