从可视化切换到HTML编辑器时保留HTML格式

时间:2011-05-13 作者:evanmcd

我一直在寻找一种解决方案,它允许我编辑HTML代码,并在切换到可视化编辑器后将其保留下来。

我尝试了很多没有运气的事情:

  • 可湿性粉剂无格式插件
  • 原始HTML插件
  • 在一行输入所有HTML
    • 如果只有我管理内容,我会禁用可视化编辑器。但由于我有许多内容管理器,页面上有HTML(例如表单)和需要编辑的内容,所以这是不可能的。

      如有任何建议,将不胜感激。

6 个回复
SO网友:Marcus Pope

我完全了解您的感受,遗憾的是,这个问题根源于wordpress核心代码,而不是TinyMCE,或者是由于浏览器兼容性问题。我编写了一个插件,允许您在html编辑器中格式化html标记,在它和可视化选项卡之间来回切换,而不影响源代码,并在可视化选项卡中进行更改,而不破坏原始html格式。。。

http://wordpress.org/extend/plugins/preserved-html-editor-markup/

它还保留了选项卡式缩进-仅4个空格:(-并增强了HTML5的兼容性。

唯一的“陷阱”是它禁用了wpautop。我引用陷阱是因为有些人讨厌编辑器在内容周围包装p标记,因此可视化编辑器将使用br标记作为回车符-因此您可能需要调整样式表。

享受

SO网友:fad.lee

您可以尝试以下插件:

TinyMCE Advanced设置为Stop removing the <p> and <br /> tags when saving and show them in the HTML editor

SO网友:pp19dd

如果只有部分代码是您不希望被破坏的,那么您也可以将敏感的HTML/embed/etc存储到自定义字段中。

通过使用这个短代码插件,您可以在任何帖子、页面甚至小部件中包含自定义字段RAW,例如:[包含“我的自定义字段名”]。它还可以从其他帖子中提取一些常见的代码片段,比如[包括全局=“共享代码菜单”]。

这是一种廉价的替代方案,有一定的局限性,但它很轻,而且很简单。

http://pp19dd.com/wordpress-plugin-include-custom-field/

SO网友:Rijo
SO网友:user205324

将此添加到您的函数中。php

function wp_tiny_mce_sanitize_fix( $init )
{
    $init[\'extended_valid_elements\'] = \'div[*], article[*], span[*], p[*]\';
    $init[\'remove_linebreaks\'] = false;
    $init[\'convert_newlines_to_brs\'] = true;
    $init[\'remove_redundant_brs\'] = false;
    return $init;
}
add_filter( \'tiny_mce_before_init\', \'wp_tiny_mce_sanitize_fix\' );

SO网友:xLRDxREVENGEx

好的,现在让我们来回答这个问题。你想要这样的东西吗

-标题-示例帖子

-含量-
拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉拉

<div><a href="blah.com">Blah</a></div>
语法高亮符号列表SyntaxHighlighter TinyMCE Button
-WP SyntaxHighligter
-RBCODE
-The Search Result From Wordpress Extend

结束

相关推荐

在函数内不显示HTML的快捷代码

我正在开发一个显示所有作者的函数,但似乎我做错了什么事情,直到页面底部与输出分离,其中的HTML才会显示出来。/* Add shortcode to display authors */ function all_authors() { global $wpdb; $authors = $wpdb->get_results(\"SELECT ID, user_nicename from $wpdb->users where ID not in(1)\");&#