2010-01-25 50 views
2

我刚刚开始编码相关的WordPress博客,基本讨论主题和存储代码片段。我安装了一个代码语法高亮插件,这是非常好的,但我有一个问题。我只是尝试发布我的第一个代码相关的博客文章和wordpress似乎只发布我的一些代码,然后它使一些不显示,就像它过滤了一些它,即使我把它包装在这样的标签..如何在Wordpress博客文章中发布源代码

<pre class="brush:php"> 

<?PHP 
my code 
?> 

</pre> 

我的一些代码有效,有些会以某种方式被过滤掉。我知道这是可能的,因为许多wordpress编码网站显示源代码。我是否需要修改某些内容以使其在wordpress中可用?


UPDATE

我已经证实,它所有我的代码保存到它只是过滤出来的数据库时,它尝试打印到屏幕,所以当我去编辑的讯息和文本框填充所有源代码完好

+0

鉴于其代码的状态,WP完全可以工作,这是一个奇迹。 Blogger或Blogspot之类的东西会更可靠,而且更安全。 – 2010-01-25 15:20:56

回答

2

您是否阅读过这个Codex article?突出显示代码,您可以使用wordpress plugins

+0

是的,我读了一遍,它听起来没有前途。我甚至尝试了一个应该保留代码的插件,但它仍然无法使用我的一些PHP代码。此外我没有任何问题突出代码,我有一个插件,我的问题是WordPress的代码是过滤某些代码我的帖子 – JasonDavis 2010-01-25 07:29:29

3

我的猜测是您的代码中未经过滤的<或&符号需要进行编码。使用“& lt;”对于<和“& amp”为&。

+0

是的,可能我只是认为这些插件应该让它改变它我 – JasonDavis 2010-01-25 07:51:21

0

您的<?php ?>代码是否正在执行?

尝试用<?php phpinfo(); ?>来确认。

0

我试了一下3种不同的插件,并与他们所有的合并终于有了WordPress没有过滤掉我的PHP代码

+2

,这可能会成为你应该包含这些插件名称的地方吗? – 2010-10-07 18:21:01

0

我在过去将代码插入WordPress的帖子中遇到了很多麻烦,但我找到了一个很简单的方法来做到这一点!我将这个代码添加到您的样式表:

pre { 
font-family: courier,"courier new",monospace; 
font-size: 12px; 
overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */ 
white-space: pre-wrap; /* css-3 */ 
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ 
white-space: -pre-wrap; /* Opera 4-6 */ 
white-space: -o-pre-wrap; /* Opera 7 */ 
/* width: 99%; */ 
word-wrap: break-word; /* Internet Explorer 5.5+ */ 
    } 

然后只是确保任何代码,您试图显示代码是< pre>标记中。对我很好!

我刚刚写了一篇关于这方面的博客文章(http://blog.thelibzter.com/displaying-snippets-of-code-correctly-in-wordpress-posts),因为这是我很长一段时间找不到解决方案的东西!希望有所帮助!

0

一个想法是使用Github的要点:http://gist.github.com,对于您发布的每个源代码,您都会收到一个嵌入代码,只需将它粘贴到WordPress上的帖子即可。

例如看到这一点:这个要点的https://gist.github.com/meysampg/0a6524b13b8be8e6205a#file-rtl_css_prestashop-tpl,我用嵌入式代码在这个HTML文件:

<!doctype html> 
<html> 
<head> 
     <title>Sample of Gist code</title> 
</head> 
<body> 
     <p>This is a code:</p> 
     <script src="https://gist.github.com/meysampg/0a6524b13b8be8e6205a.js"></script> 
</body> 
</html> 

你可以看到一个在线演示在这里:http://jsfiddle.net/meysampg/nadsffe7

相关问题