WooCommerce:订单明细表>添加产品元

时间:2016-10-15 作者:Ryan Dorn

我想修改带有行项目产品信息的表,用于1)订单详细信息2)购物车3)结帐审核4)订单电子邮件。具体而言,我想添加一个自定义字段(例如viaget_post_meta) 就在产品变体列表下方。

然而,我对woocommerce_add_order_item_metawoocommerce_order_items_table. 如果我没弄错的话,woocommerce_add_order_item_meta 将在数据库中为各自的订单和woocommerce_order_items_table 处理呈现表输出。如果这是不正确的,请让我知道。

所以,如果我没有完全错的话,我有两个选择:

1) 编辑。。。

wp-content/plugins/woocommerce/templates/order/order-details项目。php内容/插件/woocommerce/模板/电子邮件/电子邮件订单项目。php内容/插件/woocommerce/模板/购物车/购物车项目数据。php。。。只需通过模板文件添加我的字段

--或--

2) 有一个我无法理解的钩子,它允许我在不接触模板文件的情况下插入字段

所以,为了让事情变得简洁:是否有操作/过滤器挂钩可以让我有效地将表单元格添加到订单/购物车/电子邮件项目表中?

提前感谢!

1 个回复
SO网友:stims

woocommerce_add_order_item_meta 将允许您连接到订单创建过程,在检查项目错误后立即触发该过程,以便您知道该项目是合法的。您可以使用get_post_meta 作用

至于元显示,有两件事正在进行。电子邮件和订单详细信息页面都显示订单,因此当涉及到订单显示时,他们都使用WC_Order_Item_Meta 类显示函数,在该函数中有一个名为woocommerce_order_items_meta_display 您可以使用它来显示订单项元(使用echo的一些变体)。另一方面,购物车显示购物车项目。Woocommerce对待它的方式与前者不同,在这种情况下,您需要WC_Cart 调用的函数get_item_data 您将看到一个名为woocommerce_get_item_data. 此过滤器允许您在将项目数据传递到视图进行显示之前对其进行操作。

看看这些链接,您可能需要引用操作或过滤器参数。

相关推荐

Orderby定制字段不起作用

此代码是按管理页面中的ACF字段排序的。它实际上按自定义字段过滤,但不按顺序排序。字段中的数据是字符串而不是数字,因此我认为orderby meta\\u值是正确的。我确保这个键不是空的,我尝试了所有这些术语(desc、desc、asc、asc)$query->query_vars[\'order\'] function my_author_filter_results($query){ global $pagenow; if ( $pagenow === \