remove_action no after_setup_theme não funciona do tema filho

14

Estou tentando remover uma ação de tema para um tema de temas elegantes usando um tema filho. Isso funciona quando eu removo a ação após o código add_action em qualquer lugar no tema pai functions.php. No entanto, não funciona quando eu adiciono a partir de funções filho theme.php.

remove_action ('after_setup_theme', 'et_pb_setup_theme' , 10);

Remover ação tem a mesma prioridade 10 que a ação de adicionar. Não deveria funcionar?

add_action( 'after_setup_theme', 'et_pb_setup_theme' ); //parent theme add_action
    
por Smoking Sheriff 09.12.2014 / 10:04

3 respostas

22

Como @cybmeta já apontou, você é muito cedo para a sua remoção. Então você tem que adiar a remoção real, por exemplo, assim:

add_action( 'after_setup_theme', 'wpdev_170663_remove_parent_theme_stuff', 0 );

function wpdev_170663_remove_parent_theme_stuff() {

    remove_action( 'after_setup_theme', 'et_pb_setup_theme' );
}
    
por tfrommen 09.12.2014 / 10:29
3

O arquivo functions.php de temas filhos é carregado logo antes do tema pai functions.php, portanto, quando você executa remove_action no tema filho, a ação que você está tentando remover não existe porque foi adicionada posteriormente.

    
por cybmeta 09.12.2014 / 10:18
1

Experimente (basta alterar os nomes):

add_action( 'init' , 'myyy_remove' , 15 );
function myyy_remove() {
        remove_action('ACTION_NAME', 'my_function_name_Something'   ,11);
        remove_action('ACTION_NAME', 'my_function_name_Another'     ,11);
}
    
por T.Todua 28.07.2015 / 19:58