WP_Privacy_Requests_Table::get_request_counts
Counts the number of requests for each status.
Method of the class: WP_Privacy_Requests_Table{}
No Hooks.
Returns
Object. Number of posts for each status.
Usage
// protected - for code of main (parent) or child class $result = $this->get_request_counts();
Notes
- Global. wpdb.
$wpdbWordPress database abstraction object.
Changelog
| Since 4.9.6 | Introduced. |
WP_Privacy_Requests_Table::get_request_counts() WP Privacy Requests Table::get request counts code WP 6.9.1
protected function get_request_counts() {
global $wpdb;
$cache_key = $this->post_type . '-' . $this->request_type;
$counts = wp_cache_get( $cache_key, 'counts' );
if ( false !== $counts ) {
return $counts;
}
$results = (array) $wpdb->get_results(
$wpdb->prepare(
"SELECT post_status, COUNT( * ) AS num_posts
FROM {$wpdb->posts}
WHERE post_type = %s
AND post_name = %s
GROUP BY post_status",
$this->post_type,
$this->request_type
),
ARRAY_A
);
$counts = array_fill_keys( get_post_stati(), 0 );
foreach ( $results as $row ) {
$counts[ $row['post_status'] ] = $row['num_posts'];
}
$counts = (object) $counts;
wp_cache_set( $cache_key, $counts, 'counts' );
return $counts;
}