【问题标题】:Remove a dropdown select field filter in Woocommerce admin orders list在 Woocommerce 管理订单列表中删除下拉选择字段过滤器
【发布时间】:2017-10-03 17:32:10
【问题描述】:

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

如何做到这一点?有什么想法吗?

谢谢

【问题讨论】:

    标签: php wordpress woocommerce shipping orders


    【解决方案1】:

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

    您可以尝试使用 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 文件或任何插件文件中。

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

    【讨论】:

      【解决方案2】:

      我通过使用 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>';
      }
      

      【讨论】:

        【解决方案3】:

        选择的答案不是最佳解决方案,因为过滤器仍在创建中,它们只是被隐藏了。相反,您应该挂钩正确的过滤器并阻止 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;
        }
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-12-03
            • 2017-11-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-24
            相关资源
            最近更新 更多