删除操作或出列方式-两者都不起作用

时间:2013-05-04 作者:Roc

我想要实现的是删除另一个动作中的一个动作。

该操作正在调用一个样式,虽然我已尝试取消该样式的注册和出列,但它仍显示在管理页面上。

以下是代码片段(WooCommerce内部):

function woocommerce_admin_menu() {
    global $menu, $woocommerce;...

    $print_css_on = apply_filters( \'woocommerce_screen_ids\', array( \'toplevel_page_woocommerce\', \'woocommerce_page_woocommerce_settings\', \'woocommerce_page_woocommerce_reports\', \'woocommerce_page_woocommerce_status\', \'product_page_woocommerce_attributes\', \'edit-tags.php\', \'edit.php\', \'index.php\', \'post-new.php\', \'post.php\' ) );

    foreach ( $print_css_on as $page )
        add_action( \'admin_print_styles-\'. $page, \'woocommerce_admin_css\' );
}
add_action(\'admin_menu\', \'woocommerce_admin_menu\', 9);
我试图做的是:

add_action(\'init\', \'remove_action_123\', 999);
function remove_action_123() {
        $print_css_on = apply_filters( \'woocommerce_screen_ids\', array( \'toplevel_page_woocommerce\', \'woocommerce_page_woocommerce_settings\', \'woocommerce_page_woocommerce_reports\', \'woocommerce_page_woocommerce_status\', \'product_page_woocommerce_attributes\', \'edit-tags.php\', \'edit.php\', \'index.php\', \'post-new.php\', \'post.php\' ) );add_action(\'init\', \'remove_action\', 999);

        // Remove \'woocommerce_admin_menu\'
    foreach ( $print_css_on as $page )
    remove_action( \'admin_print_styles-\'. $page, \'woocommerce_admin_css\' );
}
这是它排队的方式:

function woocommerce_admin_css() {
    global $woocommerce, $typenow, $post, $wp_scripts;...

    if ( $typenow == \'\' || $typenow == "product" || $typenow == "shop_order" || $typenow == "shop_coupon" ) {
        wp_enqueue_style( \'woocommerce_admin_styles\', $woocommerce->plugin_url() . \'/assets/css/admin.css\' );
    }

    do_action(\'woocommerce_admin_css\');
}
所以我也试着:

wp_dequeue_style( \'woocommerce_admin_styles\' )
但它仍然不起作用。

关于如何成功删除此css有什么想法吗?

谢谢Roc。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

要清理完整的数组,请使用helper函数__return_empty_array() 作为回调:

add_filter( \'woocommerce_screen_ids\', \'__return_empty_array\', );
进一步使用的类似帮助程序有:

  • __return_true()
  • __return_false()
  • __return_zero()
  • __return_null()

结束

相关推荐

wp_list_tables bulk actions

如何在扩展的WP\\U List\\U表中触发批量操作。我一直在将以下批量操作添加到may table的选择框中,但在Apply上不会发生任何事情下面是我如何添加批量操作的function get_bulk_actions() { $actions = array( \'delete\' => \'Delete\', \'parsing\' => \'Parsen\' );