| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?php/** * WPSEO plugin file. * * @package WPSEO\Internals *//** * Class that generates interesting statistics about things. */class WPSEO_Statistics {	/**	 * Returns the post count for a certain SEO rank.	 *	 * @todo Merge/DRY this with the logic virtually the same in WPSEO_Metabox::column_sort_orderby().	 *	 * @param WPSEO_Rank $rank The SEO rank to get the post count for.	 *	 * @return int	 */	public function get_post_count( $rank ) {		if ( WPSEO_Rank::NO_FOCUS === $rank->get_rank() ) {			$posts = [				'meta_query' => [					'relation' => 'OR',					[						'key'     => WPSEO_Meta::$meta_prefix . 'focuskw',						'value'   => 'needs-a-value-anyway',						'compare' => 'NOT EXISTS',					],				],			];		}		elseif ( WPSEO_Rank::NO_INDEX === $rank->get_rank() ) {			$posts = [				'meta_key'   => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex',				'meta_value' => '1',				'compare'    => '=',			];		}		else {			$posts = [				'meta_key'     => WPSEO_Meta::$meta_prefix . 'linkdex',				'meta_value'   => [ $rank->get_starting_score(), $rank->get_end_score() ],				'meta_compare' => 'BETWEEN',				'meta_type'    => 'NUMERIC',			];		}		$posts['fields']      = 'ids';		$posts['post_status'] = 'publish';		if ( current_user_can( 'edit_others_posts' ) === false ) {			$posts['author'] = get_current_user_id();		}		$posts = new WP_Query( $posts );		return (int) $posts->found_posts;	}}
 |