Wordpress通过插件使用PHP时不显示?

时间:2013-03-04 19:39:23

标签: php wordpress plugins wordpress-plugin

我为Wordpress安装了一个插件(use PHP in posts),但我遇到了一些问题。

这是我的代码(虽然我认为不是问题)

$usertoget = $_GET['player'];
$partone = "http://website.co.uk/path/to/php/file.php";
if(strlen($usertoget) != 0) {
    $parttwo = "&player=";
    $partthree = $usertoget;
    $finalurl = $partone . $parttwo . $partthree;
    print '<iframe src="$finalurl"></iframe>';
}
else {
    print "<iframe src='/path/file.php'>";
}

iframe完美打印并执行目标文件应该是什么,但正如您从此图片中看到的那样,会弄乱格式化:

Screenshot of the page

  1. 没有侧栏;
  2. 没有页脚;
  3. 没有浮动标题。
  4. 我注意到页面源完成了iframe,除了关闭(</body></html>)之外什么也没做。之后有很多东西会出现但不会出现。

    另一个问题是,使用GET次请求(/page/hello?player=9/page/hello/?player=9)会返回404.有哪些方法可以解决此问题?

    有人知道如何解决这个问题吗?如果需要,我可以发布更多代码:)

    任何帮助将不胜感激:D谢谢!

2 个答案:

答案 0 :(得分:0)

如果PHP突然停止发送预期输出,通常意味着存在PHP错误。你的日志中有什么东西吗?你试过turning WP_DEBUG on吗?

我很惊讶你说iframe打印得很完美。这一行

print '<iframe src="$finalurl"></iframe>';

对我来说看起来不对(虽然它不会导致PHP出错)。如果字符串周围有单引号,则不会计算变量。有关详细信息,请参阅this question

答案 1 :(得分:0)

你错误地连接$ finalurl。你可以检查你的html它打印$ finalurl变量,因为它是。它没有输出它的值。我检查了它。所以你只需要连接$ finalurl变量正确。这是你纠正的代码。

$usertoget = $_GET['player'];
$partone = "http://website.co.uk/path/to/php/file.php";
if(strlen($usertoget) != 0) {
    $parttwo = "&player=";
    $partthree = $usertoget;
    $finalurl = $partone . $parttwo . $partthree;
    print '<iframe src='.$finalurl.'></iframe>';
}
else {
    print "<iframe src='/path/file.php'>";
}

如果您有任何疑问,请发表评论。