get_meta_stats( $post_types ); include BRE_DIR . 'includes/Admin/views/dashboard.php'; } private function get_meta_stats( array $post_types ): array { global $wpdb; $stats = array(); foreach ( $post_types as $pt ) { $total = (int) $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_type = %s AND post_status = 'publish'", $pt ) ); $with_meta = (int) $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "SELECT COUNT(DISTINCT p.ID) FROM {$wpdb->posts} p INNER JOIN {$wpdb->postmeta} pm ON pm.post_id = p.ID WHERE p.post_type = %s AND p.post_status = 'publish' AND pm.meta_key = %s AND pm.meta_value != ''", $pt, '_bre_meta_description' ) ); $stats[ $pt ] = array( 'total' => $total, 'with_meta' => $with_meta, 'pct' => $total > 0 ? round( ( $with_meta / $total ) * 100 ) : 0, ); } return $stats; } }