WordPress 删除操作不起作用

Wordpress Remove Action Doesn't Work

我想使用

从我的商店页面here中删除排序选项

remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );

编辑:我尝试了不同的优先级值,包括 10,这是包含下面 outpur 中的操作的数组的键。还是不开心!

它在其他网站上工作正常,但这个网站不行(使用 Nova WP 主题,Storefront 的子主题)。

当我添加

global $wp_filter;
echo '<pre>';
var_dump( $wp_filter['woocommerce_before_shop_loop'] );
echo '</pre>';

到我的存档-product.php输出是这样的:

array(5) {
  [10]=>
  array(2) {
    ["wc_print_notices"]=>
    array(2) {
      ["function"]=>
      string(16) "wc_print_notices"
      ["accepted_args"]=>
      int(1)
    }
    ["woocommerce_catalog_ordering"]=>
    array(2) {
      ["function"]=>
      string(28) "woocommerce_catalog_ordering"
      ["accepted_args"]=>
      int(1)
    }
  }
  [9]=>
  array(1) {
    ["storefront_sorting_wrapper"]=>
    array(2) {
      ["function"]=>
      string(26) "storefront_sorting_wrapper"
      ["accepted_args"]=>
      int(1)
    }
  }
  [20]=>
  array(1) {
    ["woocommerce_result_count"]=>
    array(2) {
      ["function"]=>
      string(24) "woocommerce_result_count"
      ["accepted_args"]=>
      int(1)
    }
  }
  [30]=>
  array(1) {
    ["storefront_woocommerce_pagination"]=>
    array(2) {
      ["function"]=>
      string(33) "storefront_woocommerce_pagination"
      ["accepted_args"]=>
      int(1)
    }
  }
  [31]=>
  array(1) {
    ["storefront_sorting_wrapper_close"]=>
    array(2) {
      ["function"]=>
      string(32) "storefront_sorting_wrapper_close"
      ["accepted_args"]=>
      int(1)
    }
  }
}

请帮忙?

好的,我终于找到了这个 here 的答案。 "storefront" 主题似乎在这方面与其他主题不同。删除排序下拉列表所需的是:

// remove default sorting dropdown in StoreFront Theme
add_action('init','delay_remove');
function delay_remove() {
   remove_action( 'woocommerce_after_shop_loop',  'woocommerce_catalog_ordering', 10 );
   remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 );
}

相对于更明显的

// remove default sorting dropdown
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );