有没有办法用子主题中的另一个函数替换一个函数?换句话说,在主题中有一个名为“theme\\u function”的函数,该函数由主题中的多个文件调用
如果存在,我想找到一个操作,用子主题内的另一个函数“child\\u function”替换所有出现的“theme\\u function”。请注意,我要替换的“theme\\u function”没有以下块:
if ( !function_exists(\'theme_function\') ) :
因为如果是这种情况,很容易用函数中具有相同名称的另一个函数替换theme\\u函数。php
最合适的回答,由SO网友:Chip Bennett 整理而成
如果所讨论的父主题函数不是可插入的(即包装在if( ! function_exists( $function ) )
有条件的)或可筛选的(即返回其包装在apply_filters( $filtername, $output )
), 那么就没有简单的方法来重写这个函数。
您必须执行以下操作之一:
替换包含函数调用实例的所有模板文件,并将这些调用替换为您自己的子主题函数,在所有此类模板中修改父主题,以删除(或使其可插入)有问题的函数