WEB主題公園
WordPress原創(chuàng)主題,高端網(wǎng)站模板建站,網(wǎng)站模板建站資源以及開發(fā)知識分享,盡在WEB主題公園
WEB主題公園致力于開發(fā)適合中國人習慣的中文WordPress網(wǎng)站模板,并提供全程視頻教程,讓您能夠輕松的使用網(wǎng)站模板建立好自己的網(wǎng)站!
使用子主題避免更新覆蓋掉自己修改的主題
一些朋友在使用WEB主題公園所推出的主題時,由于自己會程序或者公司有程序員,會對主題進行一些修改,以達到自己想要的完全狀態(tài),但是在主題更新時,特別是付費主題更新時,是會下載主題壓縮包覆蓋掉之前的低版本的主題,這樣,一些被修改的文件就會被覆蓋掉,這樣如果自己沒有備份的話,之前自己所做的一些修改就完全失效了。
這是WordPress的一個更新機制,但是WordPress官方也給出了我們的一些解決方案,可以避免更新之后出現(xiàn)之前所修改的文件遭到覆蓋的情況。
使用WordPress子主題修改和增加一些功能
WordPress子主題也是一個主題,它繼承了另一個主題——父主題——的功能,并允許你對父主題的功能進行修改,或者添加新功能。
WordPress具有子主題的方案,子主題創(chuàng)建好了之后,會調(diào)用父級主題的所有文件,子主題里面和父級主題相同的文件會優(yōu)先調(diào)用子主題。
這樣的方式,你可以創(chuàng)建一個子主題,然后將想要修改的文件從父級主題復制出來,粘貼到子主題中修改,這樣父級主題更新之后,子主題里面修改的文件不會受到任何影響。
子主題的函數(shù)會優(yōu)先父級主題,啟用了子主題之后,子主題的優(yōu)先級別是大于父級主題的。
創(chuàng)建一個子主題
子主題的創(chuàng)建,你需要創(chuàng)建一個文件夾,比如lightpark(輕極企業(yè)WordPress主題)的子主題,創(chuàng)建文件夾lightpark_kid,然后只需要創(chuàng)建一個style.css,并按照如下方式寫好編譯格式即可。
/*
Theme Name: 輕極企業(yè)子主題
Theme URI: http://www.dengyin90.cn/
Description: 輕極企業(yè)WordPress主題的子主題
Author: web主題公園
Author URI: http://www.dengyin90.cn
Template: lightpark
Version: 1.0
*/上面的代碼和普通主題的style.css格式區(qū)別不大,只有一個增加了 那就是Template:??? 這個便是識別父級主題的編注,你只需要在這里標注父主題的文件夾名稱即可
這樣的文件夾和文件建立好了之后,你就可以在后臺-- 主題? 看到你創(chuàng)建的子主題了。
啟用這個主題,你會發(fā)現(xiàn)完全和父級主題一致,所有的文件都自動調(diào)用了父級主題,這樣,子主題就創(chuàng)建成功了。
逐行的簡單解釋:
Theme Name. (必需) 子主題的名稱。
Theme URI. (可選) 子主題的主頁。
Description. (可選) 子主題的描述。比如:我的第一個子主題,真棒!
Author URI. (可選) 作者主頁。
Author. (optional) 作者的名字。
Template. (必需) 父主題的目錄名,區(qū)別大小寫。 注意: 當你更改子主題名字時,要先換成別的主題。
Version. (可選) 子主題的版本。比如:0.1,1.0,等。
使用子主題修改和增加代碼
創(chuàng)建好了子主題,現(xiàn)在復制父級主題的index.php? ,在里面輸入一段文字或者代碼,刷新看看你的網(wǎng)站,是否出現(xiàn)了修改的內(nèi)容呢?? 使用這樣的方式修改你的主題吧,
在復制父級主題的文件時,請注意層級:
如? 副主題文件夾下index文件夾 的 pic.php文件,若直接復制到子主題是無法生效的,必須建立和父級同樣的層級,index文件夾,再將pic.php復制進去才會有效。
模板文件的替換方向:
模板文件 在子主題中的表現(xiàn)和style.css一樣,它們會覆蓋父主題中的相同文件。子主題可以覆蓋任何父主題模板中的文件,只需要創(chuàng)建同名文件就行。(注意:index.php在WordPress3.0及以上版本才能被覆蓋。)
同樣,這項WordPress的功能允許你修改父主題的樣式功能而不用去編輯父主題的文件,并且你的修改能讓你在更新父主題后繼續(xù)保留。
下面是一些使用模板文件的子主題的例子:
增加一個父主題沒有提供的模板(例如:網(wǎng)站地圖頁面的模板,或者一單欄頁面,它們在頁面編輯,模板選擇里是可用的)
增加一個比父模板更加具體的模板(見模板級別)。(例如:新加的tag.php模板用于按tag歸檔的文章來代替父主題中通常的archive.php模板。)
替換父主題中的一個模板.(例:使用你自己的home.php來覆蓋父主題中的home.php)
修改時注意的方向
若你使用的WEB主題公園的付費主題,樣式文件不會被替換,你需要重新編寫load.php
替換掉這個函數(shù)cimy_uef_register_init_css? 加載css的函數(shù)(函數(shù)的替換下方我們有介紹),或者,直接修改父級的css,這是因為我們的付費主題會自動判斷移動設備,從而加載移動版主題,所以這里的功能子主題無法替換掉。這樣你只需備份好css文件即可。
函數(shù)的替換和增加
子主題的functions.php提供了一個靈活穩(wěn)定的方式來修改父主題的功能。如果你想在你的主題里加入一些PHP函數(shù),最快的方式可能是打開functions.php文件然后加入進去。但那樣并不靈活:下次你的主題升級更新了,你加入的新功能就會丟失掉。相反地,如果你使用子主題,將functions.php文件放進去,再將你想加入的功能寫進這個文件里,那么這個功能同樣會工作得很好,并且對于父主題以后的升級更新,子主題中加入的功能也不會受到影響。
functions.php文件的結構非常簡單:將PHP起始標簽置于頂部,關閉標簽置于底部,它們之間就寫上你自己的PHP函數(shù)。你可以寫得很多,也可以寫得很少,反正按你所需。下面的示例是一個基本的functions.php文件的寫法,作用是將favicon鏈接加入到HTML頁面的head元素里面。
如果是增加函數(shù),直接在子主題的functions.php中增加即可,如果函數(shù)已經(jīng)存在,那么你需要在父級主題找到此函數(shù) 使用下面的方式,進行替換
比如這樣的函數(shù):
<?php ? function favicon_link() { echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "n"; } add_action('wp_head', 'favicon_link'); ? ?>
進行替換:
if (!function_exists('theme_special_nav')) { function theme_special_nav() { // Do something. } }
注意,替換的過程是在父級主題中,使用php的function_exists進行判斷。
除了style.css,functions.php,index.php和home.php,子主題可以使用任何正式主題使用的類型的文件,只要文件被 正確鏈接。打個比方,你可以使用在樣式表里或者Javascript文件里鏈接的圖標、圖片,或者從functions.php文件中調(diào)用出來的額外 PHP文件。
子主題的方式非常的靈活,但是也需要你掌握一定的php知識才能正確的修改和增加主題的內(nèi)容,希望此文對你有所幫助!
如未標明出處,所有文章均為WEB主題公園原創(chuàng),如需轉(zhuǎn)載,請附上原文地址,感謝您的支持和關注。
本文地址:http://www.dengyin90.cn/syzztbmgxfgdzjxgdzt.html
推薦閱讀
- 2013年8月6日
- 2017年2月1日
- 2017年1月16日
- 2014年2月10日
- 2016年9月23日
- 2018年11月8日
- 2023年1月13日
- 2017年1月26日
- 2018年5月3日




