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 );
我想使用
从我的商店页面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 );