进一步查看WooCommerce源代码,幸运的是,他们提供了一个名为woocommerce_product_data_tabs
这将允许您有条件地取消设置选项卡。
我在下面提供了一个示例:
add_filter(\'woocommerce_product_data_tabs\', function($tabs) {
/**
* The available tab array keys are:
*
* general
* inventory
* shipping
* linked_product
* attribute
* variations
* advanced
*/
unset($tabs[\'shipping\']);
return $tabs;
}, 10, 1);
您还可以使用筛选产品类型下拉菜单
product_type_selector
使用筛选和产品类型选项复选框
product_type_options
滤器
示例:
add_filter(\'product_type_selector\', function($product_type) {
/**
* The available product type selection array keys are:
*
* simple
* grouped
* external
* variable
*/
unset($product_type[\'variable\']); //as an example...
return $product_type;
}, 10, 1);
示例:
add_filter(\'product_type_options\', function($product_options) {
/**
* The available product type options array keys are:
*
* virtual
* downloadable
*/
unset($product_options[\'downloadable\']); //as an example...
return $product_options;
}, 10, 1);
作为参考,我首先通过查看
add_meta_boxes
中包含的方法
WC_Admin_Meta_Boxes
内的类
includes/admin/class-wc-admin-meta-boxes.php
;
从那里你会注意到,他们添加了一个元框,其id为,woocommerce-product-data
其回调为WC_Meta_Box_Product_Data::output
在中找到includes/admin/meta-boxes/class-wc-meta-box-product-data.php
.
就在这个范围内output
筛选的方法woocommerce_product_data_tabs
, product_type_selector
和product_type_options
存在