删除Woocommerce管理订单列表中的下拉选择字段过滤器

时间:2017-05-05 09:34:43

标签: php wordpress woocommerce shipping orders

在WooCommerce 3.0+版本中,我想删除Woocommerce订单面板上的所有发货国家过滤器。

怎么做?任何想法?

  

I am on latest versions of WordPress and WooCommerce (3.0+)

由于

4 个答案:

答案 0 :(得分:2)

  

您要删除的这些选择器是自定义的,当然也是由第三方插件添加的。

您可以尝试使用隐藏在 admin_head 操作挂钩中的自定义函数隐藏下拉选择器字段。您需要将CSS ID #my_selector_id 替换为要隐藏的选择器的ID或类(使用浏览器代码检查器查找正确的选择器)

add_action( 'admin_head', 'adding_custom_css_in_admin_head', 999 );
function adding_custom_css_in_admin_head() {
    ?>
        <style type="text/css">
            body.post-type-shop_order select#my_selector_id {
                display: none !important;
            }
        </style>
    <?php
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

此代码已经过测试,它应该适用于您的下拉选择器字段。

答案 1 :(得分:0)

我通过使用css删除了我在function.php中添加了这个函数

add_action('admin_head', 'hidey_admin_head');
function hidey_admin_head() {
    echo '<style type="text/css">';
    echo 'select[name=_customer_shipping_country] {display: none;}';
    echo '</style>';
}

答案 2 :(得分:0)

选定的答案不是最佳解决方案,因为仍会创建过滤器,它们只是被隐藏。相反,您应该挂钩正确的过滤器并阻止WooCommerce插件创建选择框:

add_filter( 'woocommerce_products_admin_list_table_filters', 'my_woocommerce_products_admin_list_table_filters' );

function my_woocommerce_products_admin_list_table_filters( $filters ) {
    // to remove the category filter
    if( isset( $filters['product_category'] ) ) {
        unset( $filters['product_category'] );
    }

    // to remove the product type filter
    if( isset( $filters['product_type'] ) ) {
        unset( $filters['product_type'] );
    }

    // to remove the stock filter
    if( isset( $filters['stock_status'] ) ) {
        unset( $filters['stock_status'] );
    }

    return $filters;
}

答案 3 :(得分:0)

您可以尝试使用挂钩在 admin_head 操作挂钩中的自定义功能来隐藏下拉选择器字段。您将需要用要隐藏的选择器的ID或类替换CSS ID #my_selector_id(使用浏览器代码检查器找到正确的选择器),您可以查看属性是否按预期工作转到浏览器的开发人员工具并选择每个元素。