Woocommerce默认的产品数据选项卡及字段儿信息有时无法满足我们对产品数据管理的需要,这个时候我们可以通过给产品创建自定义字段的方法添加数据,单纯从添加自定义字段方面来说的话,可以使用wordpress给文章添加自定义字段的方法,也可以只用自定义字段插件,比如高级自定义字段插件或者专门针对Woocommerce创建自定义字段的插件。但是我们还可以通过以下的方式为产品添加一个自定义选项卡并在这个选项卡里添加自定义字段,这样既减少了插件的使用,同时也实现了和Woocommerce产品编辑页面统一的风格。
1、为Woocommerce产品数据添加自定义选项卡
//添加产品设置新的选项卡
add_filter('woocommerce_product_data_tabs',function ($tabs) {
$tabs[ 'custom_tab' ] = [
'label' => "批发设置",
'target' => 'product_wholesal_settings',
'class' => [ 'show_if_simple','show_if_variable','show_if_grouped','show_if_external'],
'priority' => 25,
];
return $tabs;
});
注意以下里面的class的设置,'show_if_simple','show_if_external'分别代表着在何种产品类型中显示。
add_action('woocommerce_product_data_panels',function (){
?>
<!--下面的id要和上面创建的选项卡的target保持一致-->
<div id="product_wholesal_settings" class="panel woocommerce_options_panel hidden">
<?PHP
$pro_custom_title = get_post_meta(get_the_ID(),'pro_custom_title',true);
$is_wholesal = get_post_meta(get_the_ID(),'is_wholesal',true);
$product_power = get_post_meta(get_the_ID(),'product_power',true);
$wholesal_mini_count = get_post_meta(get_the_ID(),'wholesal_mini_count',true);
$wholesal_price = get_post_meta(get_the_ID(),'wholesal_price',true);
woocommerce_wp_text_input([
'id' => 'pro_custom_title',
'value' => $pro_custom_title,
]);
woocommerce_wp_checkBox([
'id' => 'is_wholesal',
'label' => '是否支持批发',
'value' => $is_wholesal,
]);
woocommerce_wp_text_input([
'id' => 'product_power',
'label' => '产品功率',
'value' => $product_power,
'type' => 'number'
]);
woocommerce_wp_text_input([
'id' => 'wholesal_mini_count',
'label' => '起批数量',
'value' => $wholesal_mini_count,
'type' => 'number'
]);
woocommerce_wp_text_input([
'id' => 'wholesal_price',
'label' => '批发价格',
'value' => $wholesal_price,
'type' => 'number'
]);
?>
</div>
<?PHP
});
3、保存自定义字段儿数据到产品
//保存自定义字段数据到产品
add_action('woocommerce_process_product_Meta',function ($post_id)
{
$product = wc_get_product($post_id);
$product->update_Meta_data('pro_custom_title',sanitize_text_field($_POST[ 'pro_custom_title' ]));
$is_wholesal = isset($_POST[ 'is_wholesal' ]) ? 'yes' : '';
$product->update_Meta_data('is_wholesal',$is_wholesal);
$product->update_Meta_data('product_power',sanitize_text_field($_POST[ 'product_power' ]));
$product->update_Meta_data('wholesal_mini_count',sanitize_text_field($_POST[ 'wholesal_mini_count' ]));
$product->update_Meta_data('wholesal_price',sanitize_text_field($_POST[ 'wholesal_price' ]));
$product->save();
});
以上就是实现给Woocommerce产品数据添加自定义选项卡以及自定义字段儿的方法,您可以参考以上方法添加您自己的选项卡和自定义字段儿。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。