LLMS_Course_Data::get_revenue( string $period )
Retrieve total amount of transactions related to orders for the course completed within the period
Parameters Parameters
- $period
-
(string) (Required) Date period [current|previous].
Return Return
(float)
Source Source
File: includes/class.llms.course.data.php
public function get_revenue( $period ) { $query = $this->orders_query( -1 ); $order_ids = wp_list_pluck( $query->posts, 'ID' ); $revenue = 0; if ( $order_ids ) { $order_ids = implode( ',', $order_ids ); global $wpdb; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $revenue = $wpdb->get_var( $wpdb->prepare( "SELECT SUM( m2.meta_value ) FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m1 ON m1.post_id = p.ID AND m1.meta_key = '_llms_order_id' -- join for the ID LEFT JOIN $wpdb->postmeta AS m2 ON m2.post_id = p.ID AND m2.meta_key = '_llms_amount'-- get the actual amounts WHERE p.post_type = 'llms_transaction' AND p.post_status = 'llms-txn-succeeded' AND m1.meta_value IN ({$order_ids}) AND p.post_modified BETWEEN %s AND %s ;", $this->get_date( $period, 'start' ), $this->get_date( $period, 'end' ) ) );// db call ok; no-cache ok. // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared if ( is_null( $revenue ) ) { $revenue = 0; } } return apply_filters( 'llms_course_data_get_revenue', $revenue, $period, $this ); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.15.0 | Introduced. |