如何重写子主题中的过滤器?

时间:2015-10-04 作者:Chez Ballou

我试图覆盖子主题中的父主题过滤器;我一定是语法错误了,因为覆盖被完全忽略了。下面是我的孩子主题的函数。php:

//* remove and replace parent filter
function child_remove_parent_function() {
    remove_filter(\'filter_name\',\'parent_function\');
}
add_filter(\'filter_name\',\'child_function\');

//* my custom function
function child_function($link){
    //* function code here
    return $link;
}
儿童主题肯定在使用中-我最初尝试复制&;自定义函数并出现“无法重新声明函数”错误。只是不知道为什么我不能更换过滤器。

我甚至试着离开

function child_remove_parent_function() {
    remove_filter(\'filter_name\',\'parent_function\');
}
查看输出的链接是否会断开,但这也没有任何作用。我错过了什么?

1 个回复
SO网友:Rarst

我没看到你打电话来child_remove_parent_function() 在代码中。

另一个需要注意的问题是时间安排。这是违反直觉的,但是functions.php 文件的加载顺序为child first, 父级秒。

总的来说,您需要确保两件事:

在父主题设置完成后,代码会在适当的时候调用

相关推荐

初学者问题:通过管理Web界面访问Functions.php以导入自定义帖子类型?

是否可以访问这些功能。php文件仅仅使用管理web界面?我正在尝试访问以前创建的(手动编码的)自定义帖子类型,我不得不跳过很多障碍,因为我无法访问函数中的代码。php文件。我已经浏览了很多帮助页面,但建议的步骤似乎总是涉及到函数。php文件(我无法访问)或使用插件中的导入/导出工具,该插件首先创建了自定义帖子类型(据我所知,没有使用任何插件)。这似乎是一个非常基本的问题,但我一辈子都想不出来。任何帮助都将不胜感激!