[英]Wordpress child theme - functions.php copy - cannot “redeclare”
我正在使用帶有兒童主題的Starkers(starkers-child)。
我需要編輯functions.php來聲明菜單,所以我復制了functions.php,JS文件夾和外部文件夾(它們都在函數文件中的某個位置聲明)
但是我仍然有一個錯誤:
Cannot redeclare starkers_script_enqueuer()
(previously declared in C:\wamp\www\redlaw\wp-content\themes\starkers-child\functions.php:65) in
C:\wamp\www\redlaw\wp-content\themes\starkers-master\functions.php
我相信是由以下原因引起的:
function starkers_script_enqueuer() {
我可以理解為什么它已經在master中調用了該函數,所以它無法在child中再次調用它。
但是,如果我從母版中刪除此行,那么這不會破壞保持干凈母版並具有子主題的目的嗎?
完整功能。php在這里(未編輯,因為它出現在主主題中) http://jsfiddle.net/8KGcK/
請原諒我,我沒有足夠的代表發表評論。
除了父主題之外,還將加載子主題的functions.php。 因此,您不需要實際復制和粘貼代碼。 其他人關於將其包裝在if(function_exists(function))
中的說法是可選的,但這是一種最佳實踐,因為它不易出錯。
無論如何!
這來自食典:
與style.css不同,子主題的functions.php不會覆蓋其父主題中的對應對象。 相反,它是在父對象的functions.php之外加載的。 (具體地說,它是在父文件之前加載的。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.