Cómo eliminar una acción del tema padre en un tema hijo de WordPress

22 may 2015, 08:48:28
Vistas: 18.2K
Votos: 18

Estoy creando un tema hijo basado en Storefront.

Ahora quiero eliminar estas acciones en el tema hijo:

add_action( 'woocommerce_before_shop_loop','storefront_sorting_wrapper',9 );

usando esta función:

add_action( 'after_setup_theme','remove_action', 100 );
  function remove_action() {
    remove_action( 'init', 'woocommerce_before_shop_loop');
  }

¡Pero no funciona!

0
Todas las respuestas a la pregunta 2
1
32

Para eliminar un hook de acción debes usar el mismo nombre de acción, nombre de callback y prioridad que se usó para agregar la acción en el tema padre. Y registrarlo en init

add_action( 'init', 'remove_my_action');
function remove_my_action() {
     remove_action( 'woocommerce_before_shop_loop','storefront_sorting_wrapper',9 );
}

Lee sobre remove_action

22 may 2015 09:56:27
Comentarios

Gracias, pasé una hora buscando la respuesta correcta, esto funcionó.

Mahbub Mahbub
24 oct 2022 13:59:41
1

@Sumit tiene razón, pero si llamas a tu función remove_action() WordPress lanzará un error. Así que esto funcionará:

add_action( 'init', 'remove_actions_parent_theme');

function remove_actions_parent_theme() {
     remove_action( 'storefront_header','storefront_skip_links',0 );
};
8 sept 2017 12:13:43
Comentarios

Gracias por el aviso @Drik, corregido. Simplemente copié del OP :D

Sumit Sumit
4 may 2018 21:13:28