Automattic\WooCommerce\Internal\Admin\Orders

ListTable::column_order_status()publicWC 1.0

Renders the order status.

{} Это метод класса: ListTable{}

Хуков нет.

Возвращает

null. Ничего.

Использование

$ListTable = new ListTable();
$ListTable->column_order_status( $order ): void;
$order(WC_Order) (обязательный)
The order object for the current row.

Код ListTable::column_order_status() WC 6.7.0

public function column_order_status( WC_Order $order ): void {
	$tooltip                 = '';
	$comment_count           = get_comment_count( $order->get_id() );
	$approved_comments_count = absint( $comment_count['approved'] );

	if ( $approved_comments_count ) {
		$latest_notes = wc_get_order_notes(
			array(
				'order_id' => $order->get_id(),
				'limit'    => 1,
				'orderby'  => 'date_created_gmt',
			)
		);

		$latest_note = current( $latest_notes );

		if ( isset( $latest_note->content ) && 1 === $approved_comments_count ) {
			$tooltip = wc_sanitize_tooltip( $latest_note->content );
		} elseif ( isset( $latest_note->content ) ) {
			/* translators: %d: notes count */
			$tooltip = wc_sanitize_tooltip( $latest_note->content . '<br/><small style="display:block">' . sprintf( _n( 'Plus %d other note', 'Plus %d other notes', ( $approved_comments_count - 1 ), 'woocommerce' ), $approved_comments_count - 1 ) . '</small>' );
		} else {
			/* translators: %d: notes count */
			$tooltip = wc_sanitize_tooltip( sprintf( _n( '%d note', '%d notes', $approved_comments_count, 'woocommerce' ), $approved_comments_count ) );
		}
	}

	if ( $tooltip ) {
		printf( '<mark class="order-status %s tips" data-tip="%s"><span>%s</span></mark>', esc_attr( sanitize_html_class( 'status-' . $order->get_status() ) ), wp_kses_post( $tooltip ), esc_html( wc_get_order_status_name( $order->get_status() ) ) );
	} else {
		printf( '<mark class="order-status %s"><span>%s</span></mark>', esc_attr( sanitize_html_class( 'status-' . $order->get_status() ) ), esc_html( wc_get_order_status_name( $order->get_status() ) ) );
	}
}