Automattic\WooCommerce\Admin\API\Reports
DataStore::remove_extra_records()
Removes extra records from intervals so that only requested number of records get returned.
Метод класса: DataStore{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->remove_extra_records( $data, $page_no, $items_per_page, $db_interval_count, $expected_interval_count, $order_by, $order );
- $data(stdClass) (обязательный) (передается по ссылке — &)
- Data from whose intervals the records get removed.
- $page_no(int) (обязательный)
- Offset requested by the user.
- $items_per_page(int) (обязательный)
- Number of records requested by the user.
- $db_interval_count(int) (обязательный)
- Database interval count.
- $expected_interval_count(int) (обязательный)
- Expected interval count on the output.
- $order_by(строка) (обязательный)
- Order by field.
- $order(строка) (обязательный)
- ASC or DESC.
Код DataStore::remove_extra_records() DataStore::remove extra records WC 9.3.3
protected function remove_extra_records( &$data, $page_no, $items_per_page, $db_interval_count, $expected_interval_count, $order_by, $order ) { if ( 'date' === strtolower( $order_by ) ) { $offset = 0; } else { if ( 'asc' === strtolower( $order ) ) { $offset = ( $page_no - 1 ) * $items_per_page; } else { $offset = ( $page_no - 1 ) * $items_per_page - $db_interval_count; } $offset = $offset < 0 ? 0 : $offset; } $count = $expected_interval_count - ( $page_no - 1 ) * $items_per_page; if ( $count < 0 ) { $count = 0; } elseif ( $count > $items_per_page ) { $count = $items_per_page; } $data->intervals = array_slice( $data->intervals, $offset, $count ); }