WPSEO_Statistics::get_post_count()publicYoast 1.0

Returns the post count for a certain SEO rank.

Метод класса: WPSEO_Statistics{}

Хуков нет.

Возвращает

int.

Использование

$WPSEO_Statistics = new WPSEO_Statistics();
$WPSEO_Statistics->get_post_count( $rank );
$rank(WPSEO_Rank) (обязательный)
The SEO rank to get the post count for.

Код WPSEO_Statistics::get_post_count() Yoast 22.4

public function get_post_count( $rank ) {
	if ( $rank->get_rank() === WPSEO_Rank::NO_FOCUS ) {
		$posts = [
			'meta_query' => [
				'relation' => 'OR',
				[
					'key'     => WPSEO_Meta::$meta_prefix . 'focuskw',
					'value'   => 'needs-a-value-anyway',
					'compare' => 'NOT EXISTS',
				],
			],
		];
	}
	elseif ( $rank->get_rank() === WPSEO_Rank::NO_INDEX ) {
		$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;
}