2013-07-14 23 views
0

我的網站是手工編碼的,它有一個以PHP編碼的會員區域。所有帶有一些僅限會員的內容的頁面都是這樣開始的:我可以在我的WordPress博客中使用這個PHP代碼嗎?

<? 
require_once('system/conf.php'); 
?> 

然後是doctype和html標記。在該頁面的主體,僅會員的內容被指定這樣的:

<? if (Auth::checkMembership()) { ?> 
// members-only content goes here 
<? } else { ?> 
// content shown to others goes here 
<? } ?> 

如果是整個頁面也就是隻提供給會員的頁面,而不是簡單地開出這樣的:

<? 
require_once("system/conf.php"); 
Auth::requireMembership(); 
?> 

現在,我還在我的域中安裝了一個WordPress博客,並且我希望開始在那裏發佈只有我的會員才能訪問的帖子。我還沒有設法弄清楚如何在WordPress中製作頁面中的doctype和html標記之前編輯該部分,並且我也不知道上面的代碼是否會以某種方式與WordPress發生衝突。所以我的問題是,是否可以在WordPress上使用上面的代碼,如果是這樣,怎麼樣? (我確實意識到我可以安裝一個WordPress會員資格插件並逐個手動添加我的會員(有效地使用兩個會員系統進行操作),但是如果可能的話,我寧願將我現有的會員系統與WordPress集成我自己的麻煩,也使新成員不必等待我手動激活他們的訪問WordPress的內容。)

我急切地希望有人會如此好心幫助我!每個請求

編輯約翰WHS:

這是我加什麼DOCTYPE之前的header.php:

<? 
require_once('../system/conf.php'); 
?> 

回答

4

WordPress允許你編輯對應的模板PHP文件。在管理面板中,轉至外觀>編輯器,然後打開header.php。該文件包含在您博客的每個頁面中......因此,所有置於其開始的PHP代碼都將在任何地方執行。

現在,您可以將您的conf.php包含在header.php中,然後執行通常的會員檢查。可能需要一些安排。

在我的WordPress博客上,我做了類似的事情,但不是會員。見:

<?php 
if(preg_match("#Mozilla#i", $_SERVER['HTTP_USER_AGENT']) && 
    preg_match("#MSIE#i", $_SE RVER['HTTP_USER_AGENT'])) 
     // Browser is IE... 
?> 

鑑於你不想使用插件,這是我想到的第一個解決方案。請記住,它絕對不是最乾淨的。

編輯:通過電子郵件與作者交談,以保持評論清晰。這最後一段代碼沒有其他問題。只要確保它不會與主題或插件產生衝突。包括而不是Requiring似乎也更有成效。

+0

嗨John WHS,謝謝! (男孩,我覺得因爲沒有找到header.php文件而感到羞恥...)我試着從我的帖子上面添加第一段代碼(有一個../的實例,因爲我的WordPress博客位於子文件夾中根文件夾),但是我收到以下錯誤消息:「致命錯誤:請求的模板不存在:/ system/error。in /customers/4/8/f/mydomain.com/httpd.www/system/include/第129行的classes/class.template.php「有什麼想法?編輯:哎呀,沒有意識到輸入=發送。還嘗試使用絕對路徑來確保我指向正確的文件,但結果是空白。 –

+0

你可以嘗試使用'include_once'嗎?編輯:關於空白,你可以在你的第一篇文章中添加你的代碼(在header.php的頂部)嗎? –

+0

這裏是header.php的第一部分,包括我一直在嘗試的代碼: <? require_once('../ system/conf.php'); ?> <!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」「http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd」> < html xmlns =「http://www.w3.org/1999/xhtml」> 現在讓我試試include_once!編輯:對不起,我想我可能誤解了你要求我做的事!你能澄清嗎?第二編輯:我用include_once得到了相同的結果。 –

相關問題