Title: WP_Privacy_Requests_Table::get_request_counts
Published: October 5, 2018
Last modified: February 24, 2026

---

# WP_Privacy_Requests_Table::get_request_counts(): object

## In this article

 * [Return](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#wp--skip-link--target)

Counts the number of requests for each status.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#return)󠁿

 object Number of posts for each status.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#source)󠁿

    ```php
    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;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-privacy-requests-table.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-admin/includes/class-wp-privacy-requests-table.php#L109)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-admin/includes/class-wp-privacy-requests-table.php#L109-L142)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_cache_set()](https://developer.wordpress.org/reference/functions/wp_cache_set/)`wp-includes/cache.php` |

Saves the data to the cache.

  | 
| [get_post_stati()](https://developer.wordpress.org/reference/functions/get_post_stati/)`wp-includes/post.php` |

Gets a list of post statuses.

  | 
| [wp_cache_get()](https://developer.wordpress.org/reference/functions/wp_cache_get/)`wp-includes/cache.php` |

Retrieves the cache contents from the cache by key and group.

  | 
| [wpdb::get_results()](https://developer.wordpress.org/reference/classes/wpdb/get_results/)`wp-includes/class-wpdb.php` |

Retrieves an entire SQL result set from the database (i.e., many rows).

  | 
| [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)`wp-includes/class-wpdb.php` |

Prepares a SQL query for safe execution.

  |

[Show 3 more](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#)

| Used by | Description | 
| [WP_Privacy_Requests_Table::get_views()](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_views/)`wp-admin/includes/class-wp-privacy-requests-table.php` |

Gets an associative array ( id => link ) with the list of views available on this table.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_privacy_requests_table/get_request_counts/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.9.6](https://developer.wordpress.org/reference/since/4.9.6/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_privacy_requests_table%2Fget_request_counts%2F)
before being able to contribute a note or feedback.