如何創建 WordPress 子主題

已發表: 2020-04-16

您準備好在 WordPress 中創建子主題了嗎?

內容
1父主題安裝
2如何創建 WordPress 子主題目錄
3創建樣式表
4製作函數文件
5在 WordPress 中創建子主題的機制
給兒童主題製作者的6條建議
兒童主題中的7 個文件
8如何激活子主題
9如何創建和自定義 WordPress 子主題
10修復子主題和父主題錯誤
WordPress兒童主題要記住的11件事

父主題安裝

你需要決定你喜歡哪個主題。 根據您的偏好,您應該選擇要選為父主題的主題。

如何創建 WordPress 子主題目錄

在 WordPress 安裝的public_html/wp-content/themes 文件夾中創建一個新文件來保存主題。 避免在實時站點中執行此操作。 在登台站點上實施之前,您可以在開發站點中對此進行測試。 通常,保持新文件夾名稱以父主題名稱開頭,後跟後綴是一種很好的做法。

此過程涉及創建兩個文件:樣式表和函數文件。

創建樣式表

創建一個新文件
樣式.css
在文件夾內並添加以下代碼:
 /*

主題名稱:CodeFlist 子主題

主題 URI:https://yourwebsite.com/codeflist-child/

描述:來自父 CodeFlist 主題的子主題

作者:阿馬爾·拉吉·馬哈托

作者 URI:https://demo.codeflist.com/

模板:CodeFlist

版本:1.0.0

標籤:黑色,綠色,白色,淺色,深色,兩欄,三欄,左側欄,右側欄,固定佈局,響應式佈局,自定義背景,自定義標題,自定義菜單,編輯器-樣式、特色圖片、靈活標題、全角模板、微格式、後期格式、rtl 語言支持、置頂帖、主題選項、翻譯就緒、可訪問性就緒、響應式佈局、無限滾動,後滑塊,設計,食品,雜誌,雜誌,新聞,攝影,投資組合,乾淨,現代,黑暗,優雅,現代,專業,精緻

文本域:codeflist-child

*/

此代碼告訴 WordPress 有關主題的信息。 由於文本被註釋掉,它不會在您的網站上運行任何內容。 每個主題都有這個文件,以便熟悉 WordPress。

此代碼中不能跳過具有主題名稱模板的行。 模板應包含父主題的目錄名稱。 它通常也區分大小寫。 所有其他字段應按要求編寫。 確保使用您最喜歡的編輯器正確執行此操作。

製作函數文件

添加函數文件是將樣式表從父主題排入隊列的必要步驟。 如果您錯過了這一步,那麼您的子主題將完全沒有樣式。 另外,添加文件
函數.php
在新文件夾中。 向其中添加以下代碼:
 <?php
add_action('wp_enqueue_scripts','my_theme_enqueue_styles');
功能 my_theme_enqueue_styles() {
wp_enqueue_style('父樣式',get_template_directory_uri()。'/style.css');
}
?>

在 WordPress 中創建子主題的機制

他們在文件級別上工作。 當一個函數調用該文件時,它會檢查它是否存在。 如果子主題中不存在該文件,它將從父主題加載。 但是,它有一個例外,即主題的函數文件。 如果
函數.php
文件被調用,它是從兩個位置加載的。 如果父主題的功能不起作用,您的網站將出現故障。 如果將父主題的功能文件的全部內容複製到子主題,那將是一個解決方案。 這不是擴展主題的好方法。 如果要更改頁腳文件,則必須將來自父級的頁腳文件複製到子級。 然後處理文件並保存更改。 這適用於您要更改的所有部分。

給兒童主題製作者的建議

你需要知道兩者的區別
get_stylesheet_directory()
獲取模板目錄()
如果您製作自己的主題。 你必須清楚,
獲取模板函數
將始終指向父主題目錄和
get_stylesheet_ 點
子主題的目錄。 選擇是你的,無論你是想使用父母還是孩子。

子主題中的文件

至少有兩個文件,一個樣式表和一個函數文件。 樣式表告訴 WordPress 主題的類型。 它還提供了有關父主題的想法。 借助註釋掉的文本格式,所有細節都包含在樣式表中。

從另一個樣式表調用一個樣式表是錯誤的做法。 實際上,您應該將函數文件排入隊列。 函數文件中應該有一個將樣式表排入隊列的函數。

父主題包含一個
索引.php
文件,但在子主題中不需要它。

如何激活子主題

WordPress 使用來自父主題的文件,除非您通過將文件添加到子主題來覆蓋。 去
外觀>主題
,您將在您站點中已安裝的主題中找到該主題。 您需要激活才能享受其功能。 如果您沒有添加任何自定義,那麼它看起來是一樣的。

如何創建和自定義 WordPress 子主題

現在,當您有一個工作主題時,您可以根據您的要求添加自定義。 如果要編輯樣式表,則可以在
樣式.css
在子主題文件夾中。 您不僅可以編輯模板文件,還可以更新父主題而不會丟失任何自定義。 但是,編寫函數可能比添加模板文件更複雜。 如果要添加任何新功能,則需要轉到
函數.php
文件。 編寫函數後,添加相關操作或過濾器以添加額外功能。

基本上,如果您打算覆蓋父主題功能,則有三種方法。

  • 當您有一個可插入的父主題時,您可以在子主題中編寫另一個具有相同名稱的函數。 因此,將跳過父主題中的功能。
  • 當您有一個可拔出的父主題時,可以取消掛鉤以防止從父主題運行功能。
  • 在某些情況下,您可以添加一個新函數以附加到同一個鉤子但名稱不同。 這是在不覆蓋或刪除函數的情況下完成的。

修復子主題和父主題錯誤

在創建子主題後,可能會因為某些功能、樣式或其他文件而出現一些問題。 有一系列步驟可以確保一切正確。

  1. 檢查子主題是否已激活。 您必須確定父主題的狀態。
  2. 清除瀏覽器緩存和插件創建的緩存。
  3. 在 WordPress 中創建子主題時,檢查您是否使用正確的語法正確命名了文件。
  4. 檢查您是否已保存更改。
  5. 如果可插拔功能不起作用,請檢查是否存在名稱不匹配或父主題中的功能是否可插拔。
  6. 檢查函數中存在的優先級值和掛鉤,以防出現覆蓋問題。
  7. 如果問題是從已刪除的函數中生成的,請檢查優先級值、名稱和掛鉤。
  8. 通過在調試模式下檢查 wp-config.php 文件來查找代碼中哪里和哪裡有錯誤。
  9. 必須驗證不同元素的輸出代碼。

WordPress兒童主題要記住的事情

  1. 子主題中應該有一個樣式表和一個函數文件。
  2. 請勿在未創建子主題的情況下直接編輯第三方主題。 這將保護所做的定制。
  3. 激活主題,不要刪除父主題。
  4. 當有兩個同名文件時,WordPress 將使用子文件中的文件。
  5. 要覆蓋父主題中的可插入函數,您必須在子主題中創建具有相同名稱的函數。
  6. 使用remove_action()remove_filter()函數,您可以從父主題中解開函數。
  7. 當您使用相同的鉤子創建函數時,您可以擴充父主題函數。

包起來

在 WordPress 中創建子主題時應牢記這些事項,您可以獲得最大的優勢。 希望這篇文章能消除您對孩子和父母主題的疑慮。

附加讀物

WordPress 獲取帖子 ID
WordPress中的帖子與頁面
什麼是 WordPress 兒童主題
如何在 WordPress 中刪除主題
如何在 WordPress 中添加類別
如何在WordPress中更改密碼