修改一个WordPress主题,以子主题的方式进行二次开发,以保证不影响父主题后期更新。
需要在子主题中删除这个动作。
add_action('pre_get_posts', 'wpsites_query', 10);
但是在子主题中添加remove_action却不起作用。
remove_action( 'pre_get_posts', 'wpsites_query', 10);
后查阅文档后发现,要删除action hook,应该使用与在父主题中add_action相同的名称、回调名称和优先级。并注册init
。
add_action('init', 'remove_main_functions', 15 );
function remove_main_functions() {
remove_action( 'pre_get_posts', 'wpsites_query', 10);
}