1

我太新了,无法评论我在这里找到的答案。

我正在尝试发布源代码,并且 wp 不断将 CDATA 等添加到代码中,导致它无法正确显示。

根据我找到的答案,我将 wp-includes\post-template.php 第 167 行更改为此。

$content = str_replace('<![CDATA[','',$content); $content = str_replace(']]>','',$content); //$content = str_replace(']]>', ']]&gt;', $content);

修改该行之后,我仍然在经历 wp 更改代码。我还能做些什么来防止 wp 把事情搞砸吗?

4

3 回答 3

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');
于 2012-11-27T20:54:04.833 回答
1

尽管我很讨厌在 SO 上回答“使用插件”,但有一些插件允许您通过简码添加代码。我在我的博客上使用了一个名为 Qoate 的旧版本(在 3.4 上仍然可以正常工作);

http://wordpress.org/extend/plugins/qoate-simple-code-snippets/

一个快速的谷歌也给出了这个;

http://wordpress.org/extend/plugins/wp-syntax/

为自己省去很多麻烦,尝试自己设置和格式化(专注于编写要显示的代码而不是显示它的代码!:))

于 2012-09-05T17:35:02.690 回答
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 );
于 2013-12-05T02:23:20.183 回答