WC_API_Taxes::query_tax_rates()
Helper method to get tax rates objects
Метод класса: WC_API_Taxes{}
Хуков нет.
Возвращает
Массив
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->query_tax_rates( $args, $count_only );
- $args(массив) (обязательный)
- -
- $count_only(true|false)
- -
По умолчанию: false
Список изменений
С версии 2.5.0 | Введена. |
Код WC_API_Taxes::query_tax_rates() WC API Taxes::query tax rates WC 7.7.2
protected function query_tax_rates( $args, $count_only = false ) { global $wpdb; $results = ''; // Set args $args = $this->merge_query_args( $args, array() ); $query = " SELECT tax_rate_id FROM {$wpdb->prefix}woocommerce_tax_rates WHERE 1 = 1 "; // Filter by tax class if ( ! empty( $args['tax_rate_class'] ) ) { $tax_rate_class = esc_sql( 'standard' !== $args['tax_rate_class'] ? sanitize_title( $args['tax_rate_class'] ) : '' ); $query .= " AND tax_rate_class = '$tax_rate_class'"; } // Order tax rates $order_by = ' ORDER BY tax_rate_order'; // Pagination $per_page = absint( isset( $args['posts_per_page'] ) ? $args['posts_per_page'] : get_option( 'posts_per_page' ) ); $offset = 1 < $args['paged'] ? ( $args['paged'] - 1 ) * $per_page : 0; $pagination = sprintf( ' LIMIT %d, %d', $offset, $per_page ); if ( ! $count_only ) { $results = $wpdb->get_results( $query . $order_by . $pagination ); } $wpdb->get_results( $query ); $headers = new stdClass; $headers->page = $args['paged']; $headers->total = (int) $wpdb->num_rows; $headers->is_single = $per_page > $headers->total; $headers->total_pages = ceil( $headers->total / $per_page ); return array( 'results' => $results, 'headers' => $headers, ); }