0

我正在尝试根据 url 更改我的菜单。我尝试了几种不同的方法都无济于事。

我曾尝试使用 php 调用页面上的代码,(请参见下面的代码,我使用了它,但没有调用包含文件,而是调用了页面上的代码本身),结果是一个空白页面浏览器。

然后我尝试调用我使用其中的菜单代码创建的包含文件。

菜单本身有一些 PHP,我认为这可能是它不起作用的原因。我尝试了对菜单包含文件的简单调用,但菜单没有打印到浏览器。

<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>

一旦菜单 php 开始,它就停止打印了,所以当我查看源代码时,只有这个:

<ul id="nav">
<li><a 

之后的 php 是:

<?php nav_active( 'about' ); ?> href="/about/">ABOUT<br>WSLH</a>

其余的菜单代码,真的很长,所以我不会放在这里。当我不尝试为此 if then 语句包含菜单时,菜单本身可以在页面上很好地进行硬编码:

<?php
$url = $_SERVER["REQUEST_URI"];
if (strpos($url, "/occupational/wohl/") === 0) {
echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>';
} else {
echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wslh.php"); ?>';
}
?>

任何人都可以帮助我吗?我已经使用 ASP 创建了 if then else 语句,并且从未遇到过这个问题。预先感谢您的帮助。如果您有任何问题或我没有提供足够的信息,请告诉我。

4

1 回答 1

0

首先,这段代码不会做任何有用的事情:

echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>';

这将向浏览器回显一串 PHP 代码。浏览器不知道如何处理它。

您真正需要的只是包含 PHP 文件本身,如下所示:

include "/wp-content/themes/wslh/inc/i_menu-wohl.php";

(注意:我已经删除了括号,因为include它实际上不是一个函数,如果你开始将它视为一个函数,它可能会导致错误。)

接下来,如果输出在某些 PHP 代码尝试运行的地方突然停止,您可能会收到错误,但将错误设置为记录而不是显示。

查看此答案和该页面上的其他信息,以帮助找出错误所在。如果您在那之后仍然卡住,请发布一个新问题,其中包含产生错误的代码部分以及它产生的确切错误消息

于 2013-10-21T21:53:20.440 回答