Payout::get_total_for_meta_keys( string|array $meta_keys )

Get total of a specific meta query for payouts in query.


Parameters

$meta_keys

(string|array) (Required) Meta key(s) to use.


Top ↑

Return

(int) Total of a specific meta query for payouts in query.


Top ↑

Source

File: src/Tribe/Repositories/Payout.php

	public function get_total_for_meta_keys( $meta_keys ) {
		/** @var \wpdb $wpdb */
		global $wpdb;

		$query = clone $this->get_query();

		$query->set( 'fields', 'ids' );
		$query->set( 'posts_per_page', 1 );

		$meta_keys    = (array) $meta_keys;
		$meta_key_sql = implode( ', ', array_fill( 0, count( $meta_keys ), '%s' ) );

		$post_query = $query->request;
		$post_query = preg_replace( '/^\s*SELECT\s*SQL_CALC_FOUND_ROWS\s*/', 'SELECT ', $post_query );
		$post_query = preg_replace( '/\s*LIMIT\s*\d+,\s*\d+$/', '', $post_query );
		$post_query = "
			SELECT SUM( meta_value )
			FROM {$wpdb->postmeta}
			WHERE
				meta_key IN ( {$meta_key_sql} )
				AND post_id IN (
					{$post_query}
				)
		";

		$post_query = $wpdb->prepare( $post_query, $meta_keys );

		return (int) $wpdb->get_var( $post_query );
	}

Top ↑

Changelog

Changelog
Version Description
4.7.0 Introduced.