Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Woocommerce删除管理订单项元_Woocommerce - Fatal编程技术网

Woocommerce删除管理订单项元

Woocommerce删除管理订单项元,woocommerce,Woocommerce,我用woocommerce\u add\u order\u item\u meta动作向每个项目添加自定义项目元。 我不需要在订单细节中显示这个自定义元,因为我用它来打印pdf 如何删除此元自定义项?有什么行动可以做吗 谢谢听起来您需要保留它才能打印PDF。如果覆盖order details.php模板,则可能会更改: $item_meta = new WC_Order_Item_Meta( $item['item_meta'], $_product ); 到 编辑 wc\u add\u

我用woocommerce\u add\u order\u item\u meta动作向每个项目添加自定义项目元。 我不需要在订单细节中显示这个自定义元,因为我用它来打印pdf

如何删除此元自定义项?有什么行动可以做吗


谢谢

听起来您需要保留它才能打印PDF。如果覆盖
order details.php
模板,则可能会更改:

$item_meta    = new WC_Order_Item_Meta( $item['item_meta'], $_product );

编辑

wc\u add\u order\u item\u meta()
函数有4个参数,如代码所示:

function wc_add_order_item_meta( $item_id, $meta_key, $meta_value, $unique = false ) {
    return add_metadata( 'order_item', $item_id, $meta_key, $meta_value, $unique );
}
如果您选择一个带有下划线的
$meta_键
,则该meta将自动隐藏在签出/订单接收页面、我的账户区域的我的订单列表以及管理员的订单概览页面上

因此,我建议将您的
woocommerce\u add\u order\u item\u meta
回调函数设置为如下所示:

add_action( 'woocommerce_add_order_item_meta', '25979024_add_order_item_meta', 10, 3 );

function 25979024_add_order_item_meta( $order_item_id, $cart_item, $cart_item_key ) {
    wc_add_order_item_meta( $order_item_id, '_pdf_something', 'hide this stuff' );
}

听起来你需要保存它才能打印PDF。如果覆盖
order details.php
模板,则可能会更改:

$item_meta    = new WC_Order_Item_Meta( $item['item_meta'], $_product );

编辑

wc\u add\u order\u item\u meta()
函数有4个参数,如代码所示:

function wc_add_order_item_meta( $item_id, $meta_key, $meta_value, $unique = false ) {
    return add_metadata( 'order_item', $item_id, $meta_key, $meta_value, $unique );
}
如果您选择一个带有下划线的
$meta_键
,则该meta将自动隐藏在签出/订单接收页面、我的账户区域的我的订单列表以及管理员的订单概览页面上

因此,我建议将您的
woocommerce\u add\u order\u item\u meta
回调函数设置为如下所示:

add_action( 'woocommerce_add_order_item_meta', '25979024_add_order_item_meta', 10, 3 );

function 25979024_add_order_item_meta( $order_item_id, $cart_item, $cart_item_key ) {
    wc_add_order_item_meta( $order_item_id, '_pdf_something', 'hide this stuff' );
}

我知道这是一个有点老的问题,但我回答的是一些其他用户谁将有同样的问题在未来

如果您不希望订单项目元显示在“管理订单详细信息”页面中,则应在元名称的开头添加下划线(41;

例如:


\u custom\u order\u meta

我理解这是一个有点老的问题,但我要回答的是其他一些用户,他们将来也会遇到同样的问题

如果您不希望订单项目元显示在“管理订单详细信息”页面中,则应在元名称的开头添加下划线(41;

例如:


\u custom\u order\u meta

下划线技巧不再有效。在Woo 3.x中有一个隐藏的元数组:

add_filter('woocommerce_hidden_order_itemmeta', 
 array($this, 'hidden_order_itemmeta'), 50);

function hidden_order_itemmeta($args) {
  $args[] = 'my_hidden_meta';
  return $args;
}

下划线技巧不再有效。在Woo 3.x中有一个隐藏的元数组:

add_filter('woocommerce_hidden_order_itemmeta', 
 array($this, 'hidden_order_itemmeta'), 50);

function hidden_order_itemmeta($args) {
  $args[] = 'my_hidden_meta';
  return $args;
}