这个问题是关于如何在WooCommerce订单中显示产品自定义字段(自定义SKU)的,这是对我前面问题的回答。
如何使产品自定义字段文章ID
(自定义SKU)仅在每个订单项目的管理订单编辑页面中可见?
此外,它不适用于手动订单。如何在手动订单上显示产品自定义字段articleid
(自定义SKU)?
更新了最后一个函数,以避免与“行项目”对应的其他订单项目类型发生错误。
要使其仅在管理员上可见,在上一个函数中,您需要将订单项元键从'articleid'
更改为''u articleid'
(在键的开头添加下划线),如下所示:
// Save as custom order item meta data and display on admin single orders
add_action( 'woocommerce_checkout_create_order_line_item', 'add_articleid_as_orders_item_meta', 10, 4 );
function add_articleid_as_orders_item_meta( $item, $cart_item_key, $values, $order ) {
$articleid = $values['data']->get_meta('articleid'); // Get product "articleid"
// For product variations when the "articleid" is not defined
if ( ! $articleid && $values['variation_id'] > 0 ) {
$product = wc_get_product( $values['product_id'] ); // Get the parent variable product
$articleid = $product->get_meta( 'articleid' ); // Get parent product "articleid"
}
if ( $articleid ) {
$item->add_meta_data( '_articleid', $articleid ); // add it as custom order item meta data
}
}
对于手动订单,您将使用以下内容:
add_action( 'woocommerce_before_save_order_item', 'action_before_save_order_item_callback' );
function action_before_save_order_item_callback( $item ) {
// Targeting only order item type "line_item"
if ( $item->get_type() !== 'line_item' )
return; // exit
$articleid = $item->get_meta('articleid');
if ( ! $articleid ) {
$product = $item->get_product(); // Get the WC_Product Object
// Get custom meta data from the product
$articleid = $product->get_meta('articleid');
// For product variations when the "articleid" is not defined
if ( ! $articleid && $item->get_variation_id() > 0 ) {
$product = wc_get_product( $item->get_product_id() ); // Get the parent variable product
$articleid = $product->get_meta( 'articleid' ); // Get parent product "articleid"
}
// Save it as custom order item (if defined for the product)
if ( $articleid ) {
$item->update_meta_data( '_articleid', $articleid );
}
}
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
与此线程相关:
以下仅在WooCommerce Admin single orders中显示产品自定义字段回答我的上一个问题,其中: 添加自定义SKU字段(ArticleID) 将自定义SKU(ArticleID)保存为隐藏订单项元数据 将自定义SKU(ArticleID)保存为手动订单的隐藏订单项元数据 然而,最后一部分(手动订单)似乎与我为网关费用添加的其他自定义代码相冲突: 当我尝试更新或更改已应用网关费用
是否有一种方法可以在WooCommerce订单页面的每个产品下显示我的自定义SKU? 当我编辑产品时,自定义sku显示良好,但它不会显示在产品的订单页面中。我需要在订单上显示此信息,以便Zapier可以将其与产品的Visma帐户软件ArticleID匹配。 此尝试基于如何向WooCommerce产品添加(第二个)自定义sku字段的解决方案?
在woocommerce上,我使用以下代码在购物车和结账时呈现一些产品自定义字段: 如何在订单中显示自定义产品字段wccpf_输入_product_id'值? 谢谢
我有一个定制产品元“zoho_id”https://ibb.co/F4M6gSh.我想有元显示在订单项目后元https://ibb.co/rsVTHxV在积分图中使用它。我尝试了这段代码,得到了meta not post items顺序中的ID,它的值是“data”。如何使每个产品按顺序显示该元?
我创建了一些代码来显示woocommerce上的库存可用性 问题是,如果我更改了自定义字段文本,那么所有以前的订单都会用新的自定义字段文本更新。 例如:一个客户在2021年1月确认了一个产品的订单,其中自定义字段文本是“产品将在2021年3月提供”。第二客户在2021年3月确认了相同的产品订单,其中新的自定义字段文本是“产品将在2021年5月提供”。 两份订单都显示了最后一个自定义字段文本“产品将
我使用的是一个自定义的帖子类型和集成的woocommerce,我可以在页面上添加一个AddtoCart按钮,并可以将其添加到cart,所以效果很好 这是我的密码 但现在我需要在产品页面上添加一些自定义字段,一个包含颜色“黑色”和“白色”的下拉列表,这只是一个普通的下拉列表。当我选择一个将在购物车上显示在产品名称下的值时,我该怎么做