Automattic\WooCommerce\Admin\API\Reports
Segmenter::get_product_related_segments
Calculate segments for segmenting property bound to product (e.g. category, product_id, variation_id).
Метод класса: Segmenter{}
Хуков нет.
Возвращает
Массив.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->get_product_related_segments( $type, $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table );
- $type(строка) (обязательный)
- Type of segments to return--'totals' or
'intervals'. - $segmenting_selections(массив) (обязательный)
- SELECT part of segmenting SQL query--one for
'product_level'and one for'order_level'. - $segmenting_from(строка) (обязательный)
- FROM part of segmenting SQL query.
- $segmenting_where(строка) (обязательный)
- WHERE part of segmenting SQL query.
- $segmenting_groupby(строка) (обязательный)
- GROUP BY part of segmenting SQL query.
- $segmenting_dimension_name(строка) (обязательный)
- Name of the segmenting dimension.
- $table_name(строка) (обязательный)
- Name of SQL table which is the stats table for orders.
- $query_params(массив) (обязательный)
- Array of SQL clauses for intervals/totals query.
- $unique_orders_table(строка) (обязательный)
- Name of temporary SQL table that holds unique orders.
Код Segmenter::get_product_related_segments() Segmenter::get product related segments WC 10.5.2
protected function get_product_related_segments( $type, $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table ) {
if ( 'totals' === $type ) {
return $this->get_product_related_totals_segments( $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table );
} elseif ( 'intervals' === $type ) {
return $this->get_product_related_intervals_segments( $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table );
}
}