Удалить определенные выпадающие фильтры из списка администраторов продуктов Woocommerce - PullRequest
0 голосов
/ 14 декабря 2018

Я использую WooCommerce 3.5.2 и пытался найти простой способ удаления некоторых фильтров продуктов с экрана Администрирования продуктов:

Product Admin:

Я хочу удалить Фильтр по типу продукта и Фильтр по состоянию на складе со страницы «Администрирование продуктов».Я искал ответ на GitHub, я нашел render_filters() функцию, которая включает woocommerce_products_admin_list_table_filters фильтр хук:

/**
 * Render any custom filters and search inputs for the list table.
 */
protected function render_filters() {
    $filters = apply_filters(
        'woocommerce_products_admin_list_table_filters',
        array(
            'product_category' => array( $this, 'render_products_category_filter' ),
            'product_type'     => array( $this, 'render_products_type_filter' ),
            'stock_status'     => array( $this, 'render_products_stock_status_filter' ),
        )
    );
    ob_start();
    foreach ( $filters as $filter_callback ) {
        call_user_func( $filter_callback );
    }
    $output = ob_get_clean();
    echo apply_filters( 'woocommerce_product_filters', $output ); // WPCS: XSS ok.
}

Но я не могу найти ссылкук этому фильтру подключиться где-либо еще, кроме как в исходном коде woocommerce, относительно использования.

Есть ли способ, которым я могу использовать этот хук, чтобы удалить некоторые фильтры продукта?

Другой вариант, который я видел, был из более ранней нити переполнения стека и использовал CSS для отображения:
Удалить выпадающий фильтр выбора полей в списке заказов администратора Woocommerce
Полагаю ... не совсем правильно, но он выполняет свою работу.

Поэтому я спрашиваю, есть ли способиспользовать woocommerce_products_admin_list_table_filters фильтр-крючок, чтобы удалить некоторые фильтры, которые мне не нужны?

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете использовать woocommerce_products_admin_list_table_filters крючок для удаления «Тип продукта» и «Статус товара» Фильтры раскрывающихся списков со страниц со списком продуктов администратора, таким образом:

add_filter( 'woocommerce_products_admin_list_table_filters', 'remove_products_admin_list_table_filters', 10, 1 );
function remove_products_admin_list_table_filters( $filters ){
    // Remove "Product type" dropdown filter
    if( isset($filters['product_type']))
        unset($filters['product_type']);

    // Remove "Product stock status" dropdown filter
    if( isset($filters['stock_status']))
        unset($filters['stock_status']);

    return $filters;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme).Проверено и работает.

enter image description here

...