Wordpress儿童主题 - functions.php副本 - 不能"重新声明"

时间:2014-07-24 21:30:26

标签: php wordpress

我正在使用具有儿童主题的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中的函数,所以它不能再在子代中调用它。

但是,如果我从主人那里删除这一行,那么是否会破坏保持一个干净的主人并拥有一个儿童主题的目的?

完整的functions.php在这里(未经编辑,因为它出现在主题材中) http://jsfiddle.net/8KGcK/

1 个答案:

答案 0 :(得分:2)

原谅我,我没有足够的代表来评论。

除父主题外,还会加载子主题的functions.php。因此,您不需要实际复制和粘贴代码。其他人所说的用if(function_exists(function))包装它是可选的,但这是一种最佳实践,因为它不易出错。

反正!

这来自食典委:

  

与style.css不同,子主题的functions.php不会覆盖父对象的对应部分。相反,它除了父代的functions.php之外还被加载。 (具体来说,它是在父文件之前加载的。)

Read more here