在WordPress Blog里运行PHP代码

本主题由 锅巴 创建于 2008-7-25 17:30:00

基于安全性考虑,WordPress 的文章是不能直接运行写进去的 PHP 代码的,但是某些时候我们需要文章有提供一些动态内容的能力,这个限制就很让人不爽了。

幸运的是 WordPress 有强大的插件功能,更幸运的是已经有人写了插件让我们可以这么做。
Mark SomervilleRun PHP就是其中一个,并且工作得很好。

安装并激活 Run PHP 后,我们就可以在 WordPress 的文章里使用
echo 'Hello, This is from PHP!';
这样的格式来插入 PHP 代码了,并且可以调用 WordPress 及其插件提供的函数。

大多数时候它工作得很好,但是因为这对伪标签跟 HTML 标签一样使用 符号,所以在某些时候会出问题,例如
echo 'test';just a test">test
这样就会造成很严重的问题。
为此,我把 runphp.php 里 26、27 两行的代码
while($phpstart = strpos($data, "")) {
$phpend = strpos($data, "");
改成了
while($phpstart = strpos($data, "[".$tag."]")) {
$phpend = strpos($data, "[/".$tag."]");
修改之后,就应该使用 [phpcode] [/phpcode] 来插入 PHP 代码了,这样刚才那个问题就解决了。

其实,刚才那个在链接目标里使用 PHP 代码的情况是很有用,我们可以用
[phpcode]bloginfo('url');[/phpcode]
来代替文章里出现的自己 Blog 的 URI,这样可以保证在 Blog 的 URI 改变了的情况下,文章内容无需任何修改里面的链接也一样正常。虽然使用相对路径也可以解决这个问题,但是在一些新闻阅读软件里阅读 Blog 时相对路径是无法正常工作的。

本文转自:http://www.rainux.org/2005/01/13/61

放心注册,GeeKaa不会虚耗你半点时间,你只会发现更多乐趣。 立即注册