Automattic\WooCommerce\Admin
ReportCSVExporter::get_raw_row_data()
Generate row data from a raw report item.
Method of the class: ReportCSVExporter{}
Hooks from the method
Return
Array
. CSV row data.
Usage
// protected - for code of main (parent) or child class $result = $this->get_raw_row_data( $item );
- $item(object) (required)
- Report item data.
ReportCSVExporter::get_raw_row_data() ReportCSVExporter::get raw row data code WC 9.7.1
protected function get_raw_row_data( $item ) { $columns = $this->get_column_names(); $row = array(); // Expand extended info. if ( isset( $item['extended_info'] ) ) { // Pull extended info property from report item object. $extended_info = (array) $item['extended_info']; unset( $item['extended_info'] ); // Merge extended info columns into report item object. $item = array_merge( $item, $extended_info ); } foreach ( $columns as $column_id => $column_name ) { $value = isset( $item[ $column_name ] ) ? $item[ $column_name ] : null; if ( has_filter( "woocommerce_export_{$this->export_type}_column_{$column_name}" ) ) { // Filter for 3rd parties. $value = apply_filters( "woocommerce_export_{$this->export_type}_column_{$column_name}", '', $item ); } elseif ( is_callable( array( $this, "get_column_value_{$column_name}" ) ) ) { // Handle special columns which don't map 1:1 to item data. $value = $this->{"get_column_value_{$column_name}"}( $item, $this->export_type ); } elseif ( ! is_scalar( $value ) ) { // Ensure that the value is somewhat readable in CSV. $value = wp_json_encode( $value ); } $row[ $column_id ] = $value; } return $row; }