Function Reference: geodir_get_posts_count
Summary
Get the posts counts for the current post type.
Global Values
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
- $plugin_prefix
- (string) (required) Geodirectory plugin table prefix.
- Default: None
Package
GeoDirectory
Parameters
- $post_type
- (string) (required) Post type.
- Default: None
Return Values
- (int)
- Posts count.
Change Log
Since: 1.4.6
1.6.4 Updated to filter posts.
Filters
‘geodir_get_posts_count’ [Line: 5053]
‘geodir_imex_count_posts’ [Line: 5068]
Source File
geodir_get_posts_count() is located in geodirectory-admin/admin_functions.php [Line: 5029]
Source Code
function geodir_get_posts_count( $post_type ) { global $wpdb, $plugin_prefix; if ( !post_type_exists( $post_type ) ) { return 0; } $table = $plugin_prefix . $post_type . '_detail'; // Skip listing with statuses trash, auto-draft etc... $skip_statuses = geodir_imex_export_skip_statuses(); $where_statuses = ''; if ( !empty( $skip_statuses ) && is_array( $skip_statuses ) ) { $where_statuses = "AND `" . $wpdb->posts . "`.`post_status` NOT IN('" . implode( "','", $skip_statuses ) . "')"; } /** * Filter the SQL where clause part to filter posts count in import/export. * * @since 1.6.4 * @package GeoDirectory * * @param string $where SQL where clause part. */ $where_statuses = apply_filters( 'geodir_get_posts_count', $where_statuses, $post_type ); $query = $wpdb->prepare( "SELECT COUNT({$wpdb->posts}.ID) FROM {$wpdb->posts} INNER JOIN {$table} ON {$table}.post_id = {$wpdb->posts}.ID WHERE {$wpdb->posts}.post_type = %s " . $where_statuses, $post_type ); $posts_count = (int)$wpdb->get_var( $query ); /** * Modify returned post counts for the current post type. * * @since 1.4.6 * @package GeoDirectory * * @param int $posts_count Post counts. * @param string $post_type Post type. */ $posts_count = apply_filters( 'geodir_imex_count_posts', $posts_count, $post_type ); return $posts_count; }