日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

wordpress 加載順序a

 昵稱7154331 2011-10-21

轉(zhuǎn)自:http://blog./2008/07/theme.html,i.

一、主題包各文件解釋

header.php:這個(gè)文件中包羅博客的題目(title),刻畫(description),tag,以及css等消息。
sidebar.php:這個(gè)文件掌控你側(cè)邊欄中的揭示方法。
footer.php:掌控版面底端的揭示,包羅ICP,版權(quán)申明等消息。
archive.php:被體系調(diào)用用于揭示用戶提交分類,按時(shí)期歸檔,tag等查詢后賣弄的版面。下面代碼顯露了archive.php內(nèi)部是如何識(shí)別不同的查詢央求的:

<?php if (is_category()) { ?>
<div class=”pagetitle”>‘<?php single_cat_title(); ?>’ 分類下的文章</div>
<!–顯現(xiàn)下面是哪個(gè)分類下的文章列表,‘ ’ 離別是左右單引號(hào),下同–>
<?php } elseif( is_tag() ) { ?>
<div class=”pagetitle”>‘<?php single_tag_title(); ?>’ 標(biāo)簽下的文章</div>
…………
<?php } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?><div class=”pagetitle”>日志歸檔</div>
<?php } ?>

search.php:用于顯現(xiàn)用戶提交搜查后顯現(xiàn)的頁(yè)面。
searchform.php:搜查欄表單,被header.php調(diào)用,網(wǎng)絡(luò)流_48156
single.php:用于全文賣弄post頁(yè)面。
page.php:用于全文賣弄page頁(yè)面,The.Rose.Has.Teeth.in.the.Mouth.of.a.Beast
function.php:寄放自定義的函數(shù),被其余文件包括和調(diào)用。
comments.php:留神談?wù)撃0?,被single.php,page.php等必要評(píng)價(jià)性能的網(wǎng)頁(yè)調(diào)用。
style.css:全部網(wǎng)站格局和顯現(xiàn)形式。
screenshot.jpg:用于在后臺(tái)抉擇主題版面里顯現(xiàn)這個(gè)主題的截圖,wordpress會(huì)主動(dòng)在主標(biāo)題錄下尋找screenshot.*文件。二、從源碼看主題的調(diào)用歷程

當(dāng)博覽器向apache發(fā)送央求要取得博客主頁(yè)的HTML代碼時(shí),./index.php被調(diào)用。./index.php中的require(‘./wp-blog-header.php’);調(diào)用./wp-blog-header.php。
而./wp-blog-header.php做了一些鏈接數(shù)據(jù)庫(kù)包羅頭文件等解決,中間有兩件事情與主題調(diào)用有關(guān):
1、有require_once( dirname(__FILE__) ./wp-includes/functions.php’);
而/wp-includes/functions.php中包羅進(jìn)了./wp-includes/theme.php,此地定義了get_home_template()。

function get_home_template() {//回來(lái)所要加載的主題
$template = ”;
if ( file_exists(TEMPLATEPATH . “/home.php”) )
$template = TEMPLATEPATH . “/home.php”;
elseif ( file_exists(TEMPLATEPATH . “/index.php”) )
$template = TEMPLATEPATH . “/index.php”;
return apply_filters(‘home_template’, $template);

中間apply_filters()的作用是:將$template hook到tag=’home_template’的filters上并回來(lái)$template,也即使主題包的路徑。
2、有require_once(ABSPATH . WPINC . ‘/template-loader.php’);
調(diào)用了./wp-includes/template-loader.php(ABSPATH代表./, WPINC代表/wp-includes)。
而./wp-includes/template-loader.php中有:

} else if ( is_home() && $template = get_home_template() ) {
include($template);
return;

get_home_template()將 主題包路徑歸來(lái)給$template,,此地的include($template);語(yǔ)句就把./wp-content/themes/主題名/index.php(譬如阿德日志目前所用的主題路徑就是./wp-content/ade/index.php)包括進(jìn)入了。于是開端執(zhí)到./wp-content/themes/ade/index.php里邊的代碼了,接下來(lái)就是該主題內(nèi)部的事情了。三、主題被調(diào)用后,首頁(yè)的加載歷程

各個(gè)頁(yè)面的加載歷程大概相像,下面以首頁(yè)為例解釋。顯露首頁(yè)的時(shí)候,Wordpress只調(diào)用index.php,在index.php定義了要加載那些模板以及其加載次序。平常情形是:header.php->頁(yè)面首要內(nèi)容(index,page,signle等頁(yè)面都有其自己的定義)->sidebar.php->footer.php

其實(shí)對(duì)于一個(gè)可以供給Theme的過(guò)程而言,在過(guò)程的構(gòu)架上一定要完成數(shù)據(jù)和體現(xiàn)的分別。平常我們所說(shuō)的MVC(Model、View、Controller)架構(gòu)即使這個(gè)含義。

在WordPress中,是這么來(lái)得逞數(shù)據(jù)和完成的分別的。
1. XHTML:用Div等用來(lái)體現(xiàn)數(shù)據(jù),CSS來(lái)刻畫這些數(shù)據(jù)的體現(xiàn)模式,用這種方法來(lái)完成數(shù)據(jù)和體現(xiàn)的分別;
2. Template的方法:頁(yè)面各個(gè)局部獨(dú)自保留為一個(gè)一個(gè).php文件(如上面的sidebar.php,footer.php等),頁(yè)面加載時(shí)候調(diào)用所需代碼。

譬如<?php comments_template(); ?>就回來(lái)了留言框的所需代碼。

在譬如index中有:
<?php get_footer(); ?>
<?php get_header(); ?>
“get_header”和”get_footer”離別用來(lái)取得該頁(yè)的Header和Footer,其實(shí)即使兩個(gè)DIV塊兒。index的主體同樣是一個(gè)大的Div(<div id=”content”>),在該Theme的CSS中即能夠看到對(duì)這個(gè)DIV的體現(xiàn)定義,包羅字體、背景色澤、邊距等等。此地單一的 id=content來(lái)告知博覽器,將數(shù)據(jù)庫(kù)操縱封裝到Javabean,這個(gè)標(biāo)簽內(nèi)的內(nèi)容顯露在css中定義的content局部里邊。一、常見(jiàn)差錯(cuò)1# :多次拷貝字符串 

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多