TInyMCE object Tag stripped

时间:2011-08-11 作者:tpohare

我需要将以下对象标记添加到页面

<object id="myExperience" class="BrightcoveExperience">
 <param name="bgcolor" value="#FFFFFF" />
 <param name="width" value="648" />
 <param name="height" value="630" />
 <param name="playerID" value="801136430001" />
 <param name="playerKey" value="**********" /><param name="isVid" value="true"/>
 <param name="isUI" value="true" /><param name="dynamicStreaming" value="true" />
</object>
然而,Wordpress正在剥离对象标记和其中的所有内容,并将其替换为不间断的空格。

我在TinyMCE Advanced on WP.3.2.1中使用的编辑器,我尝试安装TinyMCE配置并将以下内容添加到extended\\u valid\\u元素中

object[class|id|width|height|codebase|*],param[name|value|_value]
但是没有效果,有人能给我指出正确的方向吗?

1 个回复
SO网友:brasofilo

我不是百分之百确定,但这个问题似乎与unfiltered_html 能力限制。

未筛选的html

自2.0以来,用户可以在页面、帖子和评论中发布HTML标记甚至JavaScript代码一个简单的修复方法(即使不是功能问题,也可能是一个解决方案)是制作一个短代码来处理对象插入。

此示例用于插入SoundCloud iframe,但很容易适应对象标记。

add_shortcode(\'soundcloud\', \'soundcloud_shortcode_maker\');

function soundcloud_shortcode_maker($atts, $content = null) {
    $output = \'<iframe width="\'.$atts[\'width\'].\'" height="\'.$atts[\'height\'].\'" scrolling="no" frameborder="no" src="http://w.soundcloud.com/player/?url=\'.urlencode($atts[\'url\']).\'&amp;\'.myUrlEncode($atts[\'params\']).\'"></iframe>\';   
    return $output;
}

function myUrlEncode($string) {
    $entities = array(\'%21\', \'%2A\', \'%27\', \'%28\', \'%29\', \'%3B\', \'%3A\', \'%40\', \'%26\', \'%3D\', \'%2B\', \'%24\', \'%2C\', \'%2F\', \'%3F\', \'%25\', \'%23\', \'%5B\', \'%5D\');
    $replacements = array(\'!\', \'*\', "\'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
    return str_replace($entities, $replacements, urlencode($string));
}
功能myUrlEncode 只是这个特定SoundCloud案例中的一个助手,但我将把它留在这里以防万一。。。

结束