| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.11/wp-content/plugins/woocommerce/src/Admin/API/Reports/ |
Upload File : |
<?php
declare( strict_types = 1);
namespace Automattic\WooCommerce\Admin\API\Reports;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Trait to call filters on `get_data` methods for data stores.
*
* It calls the filters `woocommerce_analytics_{$this->context}_query_args` and
* `woocommerce_analytics_{$this->context}_select_query` on the `get_data` method.
*
* Example:
* <pre><code class="language-php">class MyStatsDataStore extends DataStore implements DataStoreInterface {
* // Use the trait.
* use FilteredGetDataTrait;
* // Provide all the necessary properties and methods for a regular DataStore.
* // ...
* }
* </code></pre>
*
* @see DataStore
*/
trait FilteredGetDataTrait {
/**
* Get the data based on args.
*
* Filters query args, calls DataStore::get_data, and returns the filtered data.
*
* @override ReportsDataStore::get_data()
*
* @param array $query_args Query parameters.
* @return stdClass|WP_Error
*/
public function get_data( $query_args ) {
/**
* Called before the data is fetched.
*
* @since 9.3.0
* @param array $query_args Query parameters.
*/
$args = apply_filters( "woocommerce_analytics_{$this->context}_query_args", $query_args );
$results = parent::get_data( $args );
/**
* Called after the data is fetched.
* The results can be modified here.
*
* @since 9.3.0
* @param stdClass|WP_Error $results The results of the query.
*/
return apply_filters( "woocommerce_analytics_{$this->context}_select_query", $results, $args );
}
}