【发布时间】:2018-12-13 21:41:52
【问题描述】:
我正在使用 WooCommerce 3.5.2 并试图找到一种从产品管理屏幕中删除某些产品过滤器的简单方法:
我想从产品管理屏幕中删除按产品类型过滤和按库存状态过滤。我在 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 显示:
Remove a dropdown select field filter in Woocommerce admin orders list
我猜……感觉不太对劲,但确实可以。
所以我想问是否有办法使用woocommerce_products_admin_list_table_filters 过滤器挂钩来删除一些我不需要的产品过滤器?
【问题讨论】:
标签: php wordpress woocommerce product hook-woocommerce