本周,我正在为客户定制一个现有的主题。为了防止每次更新都覆盖主题,我创建了一个子主题。这使我能够对处理模板的大多数文件进行自定义。加载其他样式表和js库的函数是可插入的,可以被覆盖。
我面临的最大问题是覆盖主题的一些核心功能。这些是不可插入的(没有使用if(!function\\u exsisits())语句),也没有使用挂钩或筛选器。从子主题函数调用相同的核心函数。php或自定义插件引发了致命错误(无法重新声明函数)。
本周,我正在为客户定制一个现有的主题。为了防止每次更新都覆盖主题,我创建了一个子主题。这使我能够对处理模板的大多数文件进行自定义。加载其他样式表和js库的函数是可插入的,可以被覆盖。
我面临的最大问题是覆盖主题的一些核心功能。这些是不可插入的(没有使用if(!function\\u exsisits())语句),也没有使用挂钩或筛选器。从子主题函数调用相同的核心函数。php或自定义插件引发了致命错误(无法重新声明函数)。
我对这个问题的解决方案是创建一个自定义插件,其中包含需要覆盖的核心函数的副本。我为这些函数指定了自定义名称,以便可以从子主题目录中的模板文件中调用它们。现在,我可以添加自己的代码和修改,并保留核心主题函数不变的文件。
这会产生一些冗余代码,但现在我可以使用子主题并“覆盖”核心主题函数,直到主题作者使原始核心函数可插入为止。
我在函数中不断遇到此代码的未定义索引错误。我做错了什么?function hire_more(){ $hire = $_GET[\'hire_more\']; write_log($hire); } add_action(\'wp_loaded\',\'hire_more\');