如何重写不可插入的父主题函数? 时间:2018-04-11 作者:cag8f 我的子主题中有一个PHP模板,可以调用函数ale_filter(), 通过 <div class="articles"> <?php ale_filter($_POST);?> </div> 该函数在父主题文件:/aletheme/functions中定义。滤器php。我想将此文件复制到我的子主题,对函数进行编辑,并确保所讨论的PHP模板调用此函数,而不是父主题函数。我该怎么做?我已经使用相同的文件名和相对路径(/aletheme/functions/filter.php)将父主题文件复制到子主题。<小时>Aprevious Stack Exchange question 链接到page 有三种方法。这三种方法是:利用可插拔功能-此方法仅适用于父主题功能可插拔的情况。我的不是增加子主题功能的优先级-我不完全确定在我的情况下如何做到这一点。给出的示例是一个附加到WordPress挂钩的父主题函数,而我的不是。这个PHP man page on proc_nice 也不是很清楚。不过我想我可以再跟进一下。也许这里有人有主意使用钩子、动作和过滤器-此方法仅在父主题函数附加到WordPress钩子时适用。我认为这不适用于我的情况我发现了其他几个堆栈交换问题,但我认为所有描述方法的答案都不适用于我的情况:How to override parent theme function through the child themeFunction in Child Theme not overriding Parent Theme functionHow to override function in child themeHow to override the Parent theme Function into child themes functions.phpHow to override parent functions in child themes?谢谢。 1 个回复 最合适的回答,由SO网友:Jacob Peattie 整理而成 由于该函数在子主题的模板中使用,因此没有什么可以阻止您使用具有不同名称的函数。因此,实际上不需要插入该函数,只需要创建一个可以执行所需操作的函数并使用它即可。So复制ale_filter() 对于您的子主题,请将其重命名为ale_child_filter(), 随意更改它,然后只需更改模板即可使用该功能。只有当函数用于不能用子主题覆盖的地方时,才需要插入该函数。当您无法更改函数的使用位置时,插入它将允许您重新定义函数。由于您可以更改所使用的函数,因此无需插入该函数。 结束 文章导航