首頁>文檔>子主題開發(fā)>子主題-官方文檔

    此組別內(nèi)的文章

    需要支持?

    如果通過文檔沒辦法解決您的問題,請?zhí)峤还潍@取我們的支持!

    子主題-官方文檔

    WordPress子主題也是一個主題,它繼承了另一個主題——父主題——的功能,并允許你對父主題的功能進行修改,或者添加新功能。本文將說明如何創(chuàng)建一個基本的子主題并解釋您能用它來干什么。本文將使用?WordPress 3.0?的默認主題 Twenty Ten 作為父主題進行舉例說明。

    創(chuàng)建一個子主題是很簡單的。創(chuàng)建一個目錄,將格式編寫正確的?style.css?文件放進去,一個子主題就做成了!只需要對 HTML 和?CSS?具有基本的了解,您就可以通過創(chuàng)建一個非常基本的子主題?來對一個父主題的樣式和布局進行修改和擴展,而不需要對父主題的文件作任何修改。通過這樣的方式,當父主題被更新的時候,您所做的修改就可以保存下來。

    因為這個原因,我們強烈推薦您使用子主題的方式來對主題進行修改。

    如果您對 PHP,?WordPress Templates,和?WordPress Plugin API有個基本的理解,理論上來講,您可以使用子主題對父主題的每一個方面進行擴展,而不需要對父主題的文件進行任何修改。

    目錄結構

    子主題放在wp-content/themes目錄下屬于自己的目錄里。下面的結構顯示的就是子主題和它的父主題(Twenty Ten)在典型的WordPress目錄結構中的位置:

    • public_html
      • wp-content
        • themes?(主題存放的目錄)
          • twentyten?(示例中父主題Twenty Ten的目錄)
          • twentyten-child?(子主題存放的目錄,可以任意命名)
            • style.css?(子主題中不可或缺的文件,文件名必需為 style.css)

    這個文件夾里面可以少至只包含一個style.css文件,也可以包含多至一個完整WordPress主題所擁有的文件:

    1. style.css (必需)
    2. functions.php (可選)
    3. Template files (可選)
    4. Other files (可選)

    讓我們看看它們是如何起作用的。

    必需的style.css文件

    style.css是一個子主題唯一必須的文件。它的頭部提供的信息讓WordPress辨認出子主題,并且重寫父主題中的style.css文件

    對于任何WordPress主題,頭部信息必須位于文件的頂端,唯一的區(qū)別就是子主題中的Template:行是必須的,因為它讓WordPress知道子主題的父主題是什么。

    下面是一個style.css文件的頭部信息的示例:

    /*
    Theme Name:     Twenty Ten Child
    Theme URI:      http: //example.com/
    Description:    Child theme for the Twenty Ten theme 
    Author:         Your name here
    Author URI:     http: //example.com/about/
    Template:       twentyten
    Version:        0.1.0
    */
    

    逐行的簡單解釋:

    • Theme Name. (必需) 子主題的名稱
    • Theme URI. (可選) 子主題的主頁。
    • Description. (可選) 子主題的描述。比如:我的第一個子主題,真棒!
    • Author URI. (可選) 作者主頁。
    • Author. (optional) 作者的名字。
    • Template. (必需) 父主題的目錄名,區(qū)別大小寫。?注意:?當你更改子主題名字時,要先換成別的主題。
    • Version. (可選) 子主題的版本。比如:0.1,1.0,等。

    */ 這個關閉標記的后面部分,就會按照一個常規(guī)的樣式表文件一樣生效,你可以把你想對WordPress應用的樣式規(guī)則都寫在它的后面。

    要注意的是,子主題的樣式表會替換父主題的樣式表而生效。(事實上WordPress根本就不會載入父主題的樣式表。)所以,如果你想簡單地改變父主題中的一些樣式和結構——而不是從頭開始制作新主題——你必須明確的導入父主題的樣式表,然后對它進行修改。下面的例子告訴你如何使用@import規(guī)則完成這個。

    一個子主題的范例

    這個例子中的父主題是Twenty Ten,我們喜歡這個主題的幾乎每個部分,除了網(wǎng)站標題的顏色,因為我想把它從黑色的改成綠色的。使用子主題的話,只用完成以下三個簡單的步驟:

    1. wp-content/themes目錄下創(chuàng)建一個新目錄,并將它命名為twentyten-child(或其他你喜歡的名稱)。
    2. 將下面的代碼保存在名為style.css的文件里,并將它放到新建的這個文件夾。
    3. 到WordPress的控制臺>主題,然后激活你的新主題:Twenty Ten Child。
    /*
    Theme Name: Twenty Ten Child
    Description: Child theme for the Twenty Ten theme 
    Author: Your name here
    Template: twentyten
    */
    
    @import url("../twentyten/style.css");
    
    #site-title a {
        color: #009900;
    }
    

    下面一步步解釋上面代碼的作用:

    1. /*?開啟子主題的頭部信息。
    2. Theme Name:?子主題名稱的聲明。
    3. Description:?主題的描述(可選,也可被省略)。
    4. Author:?作者名字的聲明(可選,也可被省略)。
    5. Template:?聲明子主題的父主題,換言之,父主題所在的文件夾的名稱,區(qū)分大小寫。
    6. */子主題頭部信息的關閉標記。
    7. 用?@import規(guī)則將父主題的樣式表調入
    8. #site-title a?定義網(wǎng)站標題的顏色(綠色),覆蓋父主題中相同的樣式規(guī)則。

    注意?@import?規(guī)則

    需要注意的是,@import?規(guī)則之前沒有其他的CSS樣式規(guī)則,如果你將其他的規(guī)則置于它之上,那么它將無效,并且父主題的樣式表不會被導入。

    使用 functions.php

    不像style.css,子主題中的functions.php不會覆蓋父主題中對應功能,而是將新的功能加入到父主題的functions.php中。(其實它會在父主題文件加載之前先載入。)

    這樣,子主題的functions.php提供了一個靈活穩(wěn)定的方式來修改父主題的功能。如果你想在你的主題里加入一些PHP函數(shù),最快的方式可能是打開functions.php文件然后加入進去。但那樣并不靈活:下次你的主題升級更新了,你加入的新功能就會丟失掉。相反地,如果你使用子主題,將functions.php文件放進去,再將你想加入的功能寫進這個文件里,那么這個功能同樣會工作得很好,并且對于父主題以后的升級更新,子主題中加入的功能也不會受到影響。

    functions.php文件的結構非常簡單:將PHP起始標簽置于頂部,關閉標簽置于底部,它們之間就寫上你自己的PHP函數(shù)。你可以寫得很多,也可以寫得很少,反正按你所需。下面的示例是一個基本的functions.php文件的寫法,作用是將favicon鏈接加入到HTML頁面的head元素里面。

    <?php
    
    function favicon_link() {
        echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "\n";
    }
    add_action('wp_head', 'favicon_link');
    
    ?>
    

    給主題作者的提示。事實上子主題的functions.php首先加載意味著你的主題的用戶功能可插入——即子主題是可替換的——通過有條件地進行聲明。例如:

    if (!function_exists('theme_special_nav')) {
        function theme_special_nav() {
            //  Do something.
        }
    }
    

    注意,替換的過程是在父級主題中,使用php的function_exits進行判斷。 用這種方式,子主題可以替換父主題中的一個PHP函數(shù),只需要簡單地對它再次聲明。

    模板文件

    模板文件?在子主題中的表現(xiàn)和style.css一樣,它們會覆蓋父主題中的相同文件。子主題可以覆蓋任何父主題模板中的文件,只需要創(chuàng)建同名文件就行。(注意:index.php在WordPress3.0及以上版本才能被覆蓋。)

    同樣,這項WordPress的功能允許你修改父主題的樣式功能而不用去編輯父主題的文件,并且你的修改能讓你在更新父主題后繼續(xù)保留。

    下面是一些使用模板文件的子主題的例子:

    • 增加一個父主題沒有提供的模板(例如:網(wǎng)站地圖頁面的模板,或者一單欄頁面,它們在頁面編輯,模板選擇里是可用的)
    • 增加一個比父模板更加具體的模板(見模板級別)。(例如:新加的tag.php模板用于按tag歸檔的文章來代替父主題中通常的archive.php模板。)
    • 替換父主題中的一個模板.(例:使用你自己的home.php來覆蓋父主題中的home.php

    其他文件

    除了style.css,functions.php,index.php和home.php,子主題可以使用任何正式主題使用的類型的文件,只要文件被正確鏈接。打個比方,你可以使用在樣式表里或者Javascript文件里鏈接的圖標、圖片,或者從functions.php文件中調用出來的額外PHP文件。

    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 深夜福利一区二区| 人妻体体内射精一区二区| 无码日韩精品一区二区免费| 一区二区不卡久久精品| 一区二区三区视频在线观看| 在线精品动漫一区二区无广告| 蜜桃传媒一区二区亚洲AV| 中文字幕日韩一区| 无码国产伦一区二区三区视频 | 肉色超薄丝袜脚交一区二区| 小泽玛丽无码视频一区| 久久精品视频一区二区三区| 国产精品一区二区三区高清在线| 亚洲一区二区影院| 亚洲国产精品一区二区成人片国内| 立川理惠在线播放一区| 国产av夜夜欢一区二区三区| 免费看AV毛片一区二区三区| 国产精品香蕉在线一区| 色欲综合一区二区三区| 亚洲高清美女一区二区三区| 亚洲AV综合色区无码一区爱AV| 国模精品一区二区三区| 国产精品无码一区二区三区电影 | 午夜天堂一区人妻| 无码精品人妻一区二区三区免费看 | 精品乱子伦一区二区三区高清免费播放| 色老板在线视频一区二区| 亚洲一区二区三区自拍公司| 久久精品国产亚洲一区二区| 国产亚洲福利精品一区| 日韩一区二区三区无码影院| 国产99久久精品一区二区| 日韩国产免费一区二区三区| 国产成人久久一区二区不卡三区 | 精品一区二区久久久久久久网站| 久久久不卡国产精品一区二区| 亚洲综合色自拍一区| 久久精品免费一区二区| 无码人妻精品一区二区在线视频| 国产日韩综合一区二区性色AV|