我太新了,无法评论我找到的答案here。
我正在尝试发布源代码,并且wp不断将CDATA等添加到代码中,导致它无法正确显示。
根据我找到的答案,我将wp-includes \ post-template.php第167行更改为此内容。
$content = str_replace('<![CDATA[','',$content); $content = str_replace(']]>','',$content); //$content = str_replace(']]>', ']]>', $content);
在修改该行后,我仍然遇到wp更改代码。我还能做些什么来阻止wp搞砸了吗?
答案 0 :(得分:3)
旧帖但这就是我修复它的方法...尝试将此代码放入插件或您的functions.php文件中。
function remove_bad_things(){ ?>
<script>
jQuery('#content-html').click(function(){
jQuery('textarea[name=content]').val( jQuery('textarea[name=content]').val().replace('// <![CDATA[','') );
jQuery('textarea[name=content]').val( jQuery('textarea[name=content]').val().replace('// ]]>','') );
});
</script>
<?php }
add_action('admin_footer','remove_bad_things');
答案 1 :(得分:1)
就像我讨厌在SO上回答“使用插件”一样,有一些插件允许你通过短代码添加代码。我在我的博客上使用了一个名为Qoate的旧版本(在3.4版本上仍能正常工作);
http://wordpress.org/extend/plugins/qoate-simple-code-snippets/
快速谷歌也提供了这个;
http://wordpress.org/extend/plugins/wp-syntax/
尝试将所有内容设置为自己并自行格式化(专注于编写要显示的代码而不是显示它的代码来节省自己的麻烦!))
答案 2 :(得分:1)
在保存帖子上过滤掉这些标签对我来说很有用:
function my_filter_cdata( $content ) {
$content = str_replace( '// <![CDATA[', '', $content );
$content = str_replace( '// ]]>', '', $content );
return $content;
}
add_filter( 'content_save_pre', 'my_filter_cdata', 9, 1 );