WooCommerce更新订单备注日期

时间:2018-07-19 作者:wayne

我有一个更新woocommerce订单注释日期的具体要求,请参考下面的图片以查看我想要更改的内容。

我面临的问题是以下代码将使我的服务器崩溃,从而导致本地主机临时环境出现内部错误。便笺已保存,但日期不正确。Woocommerce将订单注释保存为注释,并且日期实际上在注释数据库表中,我无法获得以下代码,我希望专业人士能帮助我指出哪里出了问题,以及如何在插件中实现功能代码。

提前谢谢你,我一直在努力,需要你的指导。

add_action( \'woocommerce_process_shop_order_meta\', \'woocommerce_process_shop_order\', 10, 2 );
function woocommerce_process_shop_order ( $order_id ) {

 //Get this order id dynamically
 $order = wc_get_order( $order_id );

 // The text for the note
 $note = __("Custom Order Note Here");
 $note_date = date(\'d.m.Y\',strtotime("-1 days"));

 // Add the note
 $order->add_order_note( $note );
 $order->wp_insert_comment($note_date);

 // Save the data
 $order->save();

}

Woocommerce Order Note Date

1 个回复
SO网友:user141080

使用该方法add_order_note 您可以向订单中添加订单注释。如果你调查一下code 对于此方法,您将看到此方法只是wp_insert_comment 来自WordPress的函数。

所以你的问题是,你想更改订单的日期。但使用方法add\\u order\\u note无法做到这一点。如果回顾该方法的代码,您将看到该方法只有参数“$note”、“$is\\u customer\\u note”和“$added\\u by\\u user”。所以没有日期。

最简单的方法是保存订单注释,而不是使用“add\\u order\\u note”,而是使用“wp\\u insert\\u comment”功能。

$test_date = \'2005-08-05 10:41:13\';

$note = __("Custom Order Note Here");

$user = get_user_by( \'id\', get_current_user_id() );

$data = array(
   \'comment_post_ID\'      => $order_id,
   \'comment_author\'       => $user->display_name,
   \'comment_author_email\' => $user->user_email,
   \'comment_author_url\'   => \'\',
   \'comment_content\'      => $note,

   \'comment_agent\'        => \'WooCommerce\',
   \'comment_type\'         => \'order_note\',
   \'comment_parent\'       => 0,
   \'comment_approved\'     => 1,
   \'comment_date\'         => $test_date,
);

wp_insert_comment($data);

结束

相关推荐