WC_Order::add_order_note()
Adds a note (comment) to the order. Order must exist.
Метод класса: WC_Order{}
Хуки из метода
Возвращает
int
. Comment ID.
Использование
$WC_Order = new WC_Order(); $WC_Order->add_order_note( $note, $is_customer_note, $added_by_user );
- $note(строка) (обязательный)
- Note to add.
- $is_customer_note(int)
- Is this a note for the customer?.
- $added_by_user(true|false)
- Was the note added by a user?.
По умолчанию: false
Код WC_Order::add_order_note() WC Order::add order note WC 9.3.3
public function add_order_note( $note, $is_customer_note = 0, $added_by_user = false ) { if ( ! $this->get_id() ) { return 0; } if ( is_user_logged_in() && current_user_can( 'edit_shop_orders', $this->get_id() ) && $added_by_user ) { $user = get_user_by( 'id', get_current_user_id() ); $comment_author = $user->display_name; $comment_author_email = $user->user_email; } else { $comment_author = __( 'WooCommerce', 'woocommerce' ); $comment_author_email = strtolower( __( 'WooCommerce', 'woocommerce' ) ) . '@'; $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) ) ) : 'noreply.com'; // WPCS: input var ok. $comment_author_email = sanitize_email( $comment_author_email ); } $commentdata = apply_filters( 'woocommerce_new_order_note_data', array( 'comment_post_ID' => $this->get_id(), 'comment_author' => $comment_author, 'comment_author_email' => $comment_author_email, 'comment_author_url' => '', 'comment_content' => $note, 'comment_agent' => 'WooCommerce', 'comment_type' => 'order_note', 'comment_parent' => 0, 'comment_approved' => 1, ), array( 'order_id' => $this->get_id(), 'is_customer_note' => $is_customer_note, ) ); $comment_id = wp_insert_comment( $commentdata ); if ( $is_customer_note ) { add_comment_meta( $comment_id, 'is_customer_note', 1 ); do_action( 'woocommerce_new_customer_note', array( 'order_id' => $this->get_id(), 'customer_note' => $commentdata['comment_content'], ) ); } /** * Action hook fired after an order note is added. * * @param int $order_note_id Order note ID. * @param WC_Order $order Order data. * * @since 4.4.0 */ do_action( 'woocommerce_order_note_added', $comment_id, $this ); return $comment_id; }