在父主题的文件夹中有一个功能:
add_action('wp_footer', 'znn_load_js');
function znn_load_js() {
include(get_template_directory() . '/javascript.php');
}
我想覆盖它并包含我自己的javascript.php文件。我已经尝试了
remove_action('wp_footer', 'znn_load_js');
但它没有用。有什么建议吗?
答案 0 :(得分:2)
如果您只需要从主题中删除此代码,我建议您完全从您的functions.php中删除它。但是,如果由于某种原因需要保留它,则可以设置add_action和remove_action的优先级。通过设置较低的优先级,操作将更早执行。通过设置更高的优先级,该操作将在稍后执行。无论是add_action还是remove_action,主体都是相同的。
我建议您阅读这两个内容以获取更多信息:
http://codex.wordpress.org/Function_Reference/add_action
http://codex.wordpress.org/Function_Reference/remove_action
1] add_action的默认优先级为10,但您可以使用第3个参数手动设置它,如下所示:
add_action('wp_footer', 'znn_load_js', 10);
function znn_load_js() {
include(get_template_directory() . '/javascript.php');
}
2] 因此,将remove_action和add_action的优先级设置为相同的数字,在本例中为10.但是,您可以将它们更改为您想要的任何优先级。将此动作挂钩放在子主题中。
add_action('after_setup_theme', 'remove_parent_functions');
function remove_parent_functions() {
remove_action('wp_footer', 'znn_load_js', 10);
}