web-dev-qa-db-ja.com

子の親テーマのアクションを削除

Storefrontから子テーマを作成しています。

今私は子供のテーマでこれらのアクションを削除したいです

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

この機能によって:

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

しかし、それはうまくいきません!

8
Ehsan

アクションフックを削除するには、親テーマにアクションを追加するのに使用したのと同じアクション名、コールバック名、および優先度を使用する必要があります。そしてinitに登録してください

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

remove_action について読んでください

13
Sumit

@Sumitは正しいですが、あなたがあなたの関数remove_action()を呼ぶならば、Wordpressはエラーを投げます。だからこれは動作します:

add_action( 'init', 'remove_actions_parent_theme');

function remove_actions_parent_theme() {
     remove_action( 'storefront_header','storefront_skip_links',0 );
};
3
Dirk