1. 嘗試設(shè)置一個(gè)頁(yè)面模板
公司專注于為企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、商城系統(tǒng)網(wǎng)站開(kāi)發(fā),微信平臺(tái)小程序開(kāi)發(fā),軟件按需求定制設(shè)計(jì)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)建站更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
1)拷貝一個(gè)index.php并改名為其它名,如list.php;
2)在list.php頁(yè)面最頂部添加
?php /*
Template Name: 友鏈
*/
?
以上兩步就可以創(chuàng)建一個(gè)頁(yè)面模板了,修改并保存好這個(gè)文件后,創(chuàng)建一個(gè)新頁(yè)面或者修改已存在的頁(yè)面。在右下邊有個(gè)“頁(yè)面模板”的面板,在下拉菜單中選中“友鏈”后保存就可以了。
然后在頁(yè)面中添加任何內(nèi)容,包括html代碼就可以顯示了。可是我的需求是要自己完成PHP代碼獲取數(shù)據(jù)并展示,它不能這么做。
2. 調(diào)用 WordPress 的 API實(shí)現(xiàn)URL正確跳轉(zhuǎn)
這種方法的自由度較高,并且可以創(chuàng)建非WordPress格式的URL。比如我們要把 轉(zhuǎn)交給主題文件夾下的 /custom/list.php 來(lái)處理,就可以用這種方式來(lái)處理。這種方法用到 template redirect 鉤子,template redirect 是 WordPress 在預(yù)處理好所有參數(shù)設(shè)置之后決定調(diào)用主題模板的時(shí)候調(diào)用的。
在functions.php模板函數(shù)文件中添加以下實(shí)例代碼:
function loadCustomTemplate($template) {
global $wp_query;
if(!file_exists($template))return;
$wp_query-is_page = true;
$wp_query-is_single = false;
$wp_query-is_home = false;
$wp_query-comments = false;
// if we have a 404 status
if ($wp_query-is_404) {
// set status of 404 to false
unset($wp_query-query["error"]);
$wp_query-query_vars["error"]="";
$wp_query-is_404=false;
}
// change the header to 200 OK
header("HTTP/1.1 200 OK");
//load our template
include($template);
exit;
}
function templateRedirect() {
$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');
這樣就實(shí)現(xiàn)了 WordPress 查找 /custom 文件夾下的 php 文件,并且將相匹配的 URL 請(qǐng)求轉(zhuǎn)交給對(duì)應(yīng)的 php 文件來(lái)處理的效果,與此同時(shí),這個(gè) php 文件還保持了對(duì) WordPress API 的調(diào)用,因此留給我們的空間非常大。
接下來(lái)就可以在 /custom 文件夾下自定義一個(gè)list.php文件然后通過(guò)鏈接訪問(wèn)。
3. 添加頁(yè)面內(nèi)容,獲取自定義數(shù)據(jù)庫(kù)/表中的內(nèi)容
然后就可以根據(jù)需要自己需要來(lái)實(shí)現(xiàn)自己想要的功能,這里需要有以下幾點(diǎn)要處理:
1)如何操作數(shù)據(jù)庫(kù)
WordPress提供了一個(gè)全局變量$wpdb,并將其實(shí)例化為wpdb類的對(duì)象。這樣我們就可以直接使用$wpdb來(lái)調(diào)用所有的數(shù)據(jù)庫(kù)操作函數(shù)。通過(guò)這個(gè)$wpdb對(duì)象,我們可以對(duì)WordPress數(shù)據(jù)庫(kù)進(jìn)行任何操作,包括建表、查詢、刪除、更新等。使用$wpdb-get_results實(shí)現(xiàn)執(zhí)行sql語(yǔ)句操作數(shù)據(jù)庫(kù),并獲取結(jié)果。
global $wpdb;
$sql= "SELECT * FROM ".$wpdb-prefix.table;
$a = $wpdb-get_results($sql);
2)使用wordpress的樣式
通過(guò)F12查看首頁(yè)代碼就可以發(fā)現(xiàn)只要使用對(duì)應(yīng)的class樣式就能輕松讓頁(yè)面統(tǒng)一規(guī)整。那么就把對(duì)應(yīng)的html添加到自定義PHP頁(yè)面中即可。
3)利用wordpress的規(guī)則輕松實(shí)現(xiàn)翻頁(yè)
wordpress已經(jīng)默認(rèn)支持翻頁(yè),格式如:,只要在自定義的頁(yè)面里面定義好每頁(yè)返回正確的內(nèi)容就好啦。
4. 設(shè)置nginx rewrite規(guī)則
可讀性強(qiáng)的URL一定不能是這樣的格式,對(duì)爬蟲也不友好,那就需要配置好rewrite規(guī)則,我使用的是nginx的配置為:
rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;
到現(xiàn)在為止,離成功只有一步之遙了,那就是新建一個(gè)頁(yè)面, 大功告成!
內(nèi)容頁(yè)和欄目調(diào)用標(biāo)簽不一樣,需要修改模板相應(yīng)標(biāo)簽。修改后因?yàn)檫@個(gè)欄目之前添加的內(nèi)容沒(méi)有放置在數(shù)據(jù)庫(kù)相關(guān)表中,所以不顯示。
造成這樣的原因,可能在您做修改時(shí)會(huì)有提示的。
.asp是模版?這是asp文件
.php是php文件,模版是html格式的文件,如.html .htm .dwt .lbi .xhtml .wml
這些都可以用dw打開(kāi)
php的環(huán)境有l(wèi)amp,wamp,或者ngnix替換apache
數(shù)據(jù)庫(kù)管理跟access不同,mysql可以用phpMyAdmin,或者navicat等工具修改,很方便的
查看你后臺(tái)---界面---模板風(fēng)格---設(shè)置是不是正確,還有就是查看模板風(fēng)格里的config.php這個(gè)文件配置是不是正確。