Wordpress删除操作不起作用

时间:2016-07-25 11:35:59

标签: php wordpress hook action

我想使用

从我的商店页面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>';

到我的archive-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)
    }
  }
}

请帮帮忙?

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了这个here的答案。看来&#34;店面&#34;在这方面,主题与其他主题的行为不同。删除排序下拉列表需要的是:

// 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 );