【发布时间】:2017-04-27 11:34:27
【问题描述】:
我想在我的产品库存设置中的 SKU 代码字段下添加条形码字段。我想使用它,因为我正在使用 WooCommerce POS,并且我可以根据条形码字段进行扫描,但仍将 SKU 字段用于真实的 SKU 代码。
如何在不使用任何插件的情况下完成此操作。 (阅读:Function.php 代码)。
我已经尝试使用以下代码,但没有任何成功:
//Add barcode to the product inventory tab
add_action('woocommerce_product_options_inventory_product_data','add_barcode');
function add_barcode(){
global $woocommerce,$post;
woocommerce_wp_text_input(
array(
'id' => '_barcode',
'label' => __('Barcode','woocommerce'),
'placeholder' => 'Scan Barcode',
'desc_tip' => 'true',
'description' => __('Scan barcode.','woocommerce')
));
}
//Save Barcode Field
function add_barcode_save($post_id){
if(isset($_POST['_barcode'])){
update_post_meta($post_id,'_barcode',sanitize_text_field($_POST['_barcode']));
}else{
delete_meta_data($post_id,'_barcode',sanitize_text_field($_POST['_barcode']));
}
}
add_action('woocommerce_process_product_meta','add_barcode_save');
//Set POS Custom Code
function pos_barcode_field(){return '_barcode';}
add_filter('woocommerce_pos_barcode_meta_key','pos_barcode_field');
因为代码在添加到 Functions.php 时似乎根本没有任何效果。如果有任何改变,我将使用 Fruitful 主题。
有谁知道我在这里做错了什么?提前感谢您为我提供的帮助!
【问题讨论】:
-
不,我正在扫描产品,因此来自此的数字(例如 123456789)将被放入此字段。我不必生成自己的条形码,因为我所有的产品都已经有唯一的条形码。我正在寻找一种不需要插件的方法。我的前端也不需要它,只是为了让后端快速扫描并在商店支付产品。
-
所以看来我的代码确实有效,如果它作为一个单独的插件添加,但不是从主题 Fruitful 添加到 Function.php 时,它似乎不起作用。它要么返回 500 错误,要么无法正常运行。有谁知道这可能是什么问题?我还没有对这个主题的functions.php进行任何其他修改,我试图把它放在完全结束或开始时也没有任何运气。
-
这绝对应该是一个插件,因为它是自定义功能,而主题应该处理“显示”。但主题也是在插件之后加载的,因此在运行
functions.php时,您正在连接的一些 WooCommerce 操作挂钩可能已经被触发。 -
@helgatheviking 感谢您提供的信息,那么最后隔离代码是个好主意!
标签: wordpress woocommerce product inventory