使用子主題,可以繼承父主題的所有功能,同時避免因為直接使用父主題在父主題升級時造成文件丟失的情況。
子主題的創建很簡單:
1、首先在主題文件夾下(wp-content\themes)建立一個文件夾,用來存放子主題的所有文件,例如:twentytwelve-child。
2、在twentytwelve-child文件夾下新建一個style.css文件,該文件是必須的。將以下代碼粘貼進去:
1 2 3 4 5 6 7 8 9 |
/*
Theme Name: Twenty Twelve Child (子主題名稱,必須)
Theme URI: http://www.**.com (主題url)
Description: Child theme for the Twenty Twelve theme (主題描述)
Author: ** (主題作者)
Author URI: http://www.**.com (作者uri)
Template: twentytwelve (父主題目錄名稱,必須)
Version: 1.0.0 (版本號)
*/ |
括號的字要去掉,此時就可以在后台-外觀-主題中激活該子主題。
3、自定義css
子主題不會繼承父主題的css樣式,也就是說外觀布局要重新定義,你可以在style.css文件中自定義,也可以使用@import直接調用父主題的樣式,然后再進行修改,示例代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/* Theme Name: Twenty Twelve Child Theme URI: http://www.**.com Description: Child theme for the Twenty theme Author: ** Author URI: http://www.**.com Template: twenty Version: 1.00 */ @import url("../twenty/style.css"); a{ color:green; } |
4、編輯functions.php文件
functions.php文件是用來保存主題的一系列功能函數,建立子主題后,父主題的功能函數會自動調用。如果你需要額外增加函數,則在twenty-child下新建一個functions.php文件,例:在底部添加版權文本
1 2 3 4 5 6 |
<?php add_action( 'twenty_credits', 'my_credits' ); function my_credits(){ echo '<span>©2013 **wp All rights reserved.</span> '; } ?> |
注意:functions.php文件中的代碼不會替換父主題的,它是額外增加進去。
5、編輯其它文件
在子主題中,除functions.php文件外,其它文件都是完全替換父主題的同名文件。例如你要重新修改footer.php文件,則在twenty-child中新建該文件,將父主題該文件的代碼粘貼進去再進行修改。
要點:
1、只需建立一個style.css文件就可以創建一個子主題;
2、使用hook API在functions.php中添加額外的主題功能;
3、要修改哪個文件就在子主題文件夾下建立它的同名文件。
4、父主題的升級不會影響到子主題的文件。