Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress子主题-functions.php copy-cannot";“重新声明”;_Php_Wordpress - Fatal编程技术网

Wordpress子主题-functions.php copy-cannot";“重新声明”;

Wordpress子主题-functions.php copy-cannot";“重新声明”;,php,wordpress,Php,Wordpress,我将Starkers与子主题(Starkers child)一起使用 我需要编辑functions.php来声明一个菜单,所以我复制了functions.php、JS文件夹和外部文件夹(它们都是在functions文件的某个地方声明的) 但是,我仍然有一个错误: Cannot redeclare starkers_script_enqueuer() (previously declared in C:\wamp\www\redlaw\wp-content\themes\starkers-ch

我将Starkers与子主题(Starkers child)一起使用

我需要编辑functions.php来声明一个菜单,所以我复制了functions.php、JS文件夹和外部文件夹(它们都是在functions文件的某个地方声明的)

但是,我仍然有一个错误:

 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() {
我可以理解为什么它已经在主程序中调用了函数,所以不能在子程序中再次调用它

但是如果我从大师那里删除这句话,那不是违背了保持一个干净的大师和有一个孩子的主题吗

这里有Full functions.php(未编辑,如主主题中所示)

请原谅,我没有足够的代表发表评论

除了父主题外,还将加载子主题的functions.php。因此,您不需要实际复制和粘贴代码。如果(function_exists(function))存在,那么其他人对将其包装到
中的说法是可选的,但这是一种最佳实践,因为它不太容易出错

无论如何

这是来自法典:

与style.css不同,子主题的functions.php不会覆盖父主题的对应项。相反,它是在父函数的functions.php之外加载的。(具体地说,它是在父文件之前加载的。)


如果要包含/要求该文件,请尝试包含/要求一次。此文件的唯一其他引用是:添加操作(“wp\U排队脚本”、“starkers\U脚本\U排队器”);我认为WordPress的标准解决方法是将所有函数声明放在
function\u exists()
调用中,这样子主题就可以覆盖它们。@andrewsi将它们包装在master functions.php文件中意味着更新主主题时,必须在文件中重新进行修改,正如Francesca所说,这会破坏purposte ok keep clean the master.@AdrianoG.V.Esposito,我认为只有在函数挂接的情况下,才能从链接(stackoverflow.com/a/30254629/1399205)应用解决方案。如果它是一个正常函数,那么它仍然是一个问题。