2012-09-05 86 views
1

我太新了,無法評論答案我發現here保持wordpress添加CDATA

我想發佈源代碼和wp不斷添加CDATA等人的代碼,導致它無法正確顯示。

我改變了wp-includes \ post-template.php第167行到這個,根據我找到的答案。

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

修改該行後,我仍然遇到wp更改代碼。還有什麼我可以做的,以防止wp搞砸了嗎?

回答

0

就像我討厭回答「在插件上使用SO」一樣,有幾個插件允許您通過簡碼添加代碼。我在我的博客上使用了一個名爲Qoate的舊版本(在3.4上仍然正常);

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

快速谷歌給出了這樣的一個過; (要顯示專注於編寫代碼,而不是代碼,以顯示它!:))

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

保存自己的麻煩試圖建立了全面的總結,並對其進行格式化自己的負載

+0

謝謝你的提醒。像魅力一樣工作! – ntmw

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

過濾掉這些標籤上保存的職位爲我做的伎倆:

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);