2013-10-21 47 views
0

我試圖根據url更改我的菜單。 我已經嘗試了幾個不同的事情無濟於事。PHP包含文件,如果然後其他語句,包括文件不打印到瀏覽器

我已經嘗試使用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> 

而其餘的菜單代碼,這是很長的,所以我不會把它放在這裏。菜單本身工作良好的硬編碼在頁面上,當我不試圖包括它爲此如果然後聲明:

<?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的其他語句,並且從未遇到過這個問題。預先感謝您的幫助。如果您有任何問題,請告訴我,或者我沒有提供足夠的信息。

+1

你是否在你生成的文件中包含了wp庫?您試圖生成PHP代碼,這意味着您必須生成所有內容,包括適當的include()/ require()指令,以便在生成的代碼執行時實際定義nav_active()。 –

+0

@馬克乙,這可能是問題,但我不知道該怎麼做。我的想法是,我可以簡單地使用包含菜單代碼進入頁面,它會工作,因爲所有不同的是菜單代碼將會改變一點,這取決於哪一個是通過include引入的。看着頭,我不知道我應該添加到菜單包含文件。我想象我想要做的可能很簡單,我只是沒有PHP體驗。 – JHP

回答

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代碼試圖運行的位置,那麼您可能會收到錯誤消息,但將錯誤設置爲記錄而不是顯示。

檢出this answer和該頁面上的其他信息,以幫助追查錯誤是什麼。如果在此之後仍然卡住,請發送新問題,其中產生錯誤的代碼部分和其產生的確切錯誤消息