PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / trunk
Yoast SEO – Advanced SEO with real-time guidance and built-in AI vtrunk
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / inc / class-wpseo-statistics.php

class-wpseo-statistics.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI trunk, at inc/class-wpseo-statistics.php

63 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Internals
6 */
7
8 /**
9 * Class that generates interesting statistics about things.
10 */
11 class WPSEO_Statistics {
12
13 /**
14 * Returns the post count for a certain SEO rank.
15 *
16 * @todo Merge/DRY this with the logic virtually the same in WPSEO_Metabox::column_sort_orderby().
17 *
18 * @param WPSEO_Rank $rank The SEO rank to get the post count for.
19 *
20 * @return int
21 */
22 public function get_post_count( $rank ) {
23 if ( $rank->get_rank() === WPSEO_Rank::NO_FOCUS ) {
24 $posts = [
25 'meta_query' => [
26 'relation' => 'OR',
27 [
28 'key' => WPSEO_Meta::$meta_prefix . 'focuskw',
29 'value' => 'needs-a-value-anyway',
30 'compare' => 'NOT EXISTS',
31 ],
32 ],
33 ];
34 }
35 elseif ( $rank->get_rank() === WPSEO_Rank::NO_INDEX ) {
36 $posts = [
37 'meta_key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex',
38 'meta_value' => '1',
39 'compare' => '=',
40 ];
41 }
42 else {
43 $posts = [
44 'meta_key' => WPSEO_Meta::$meta_prefix . 'linkdex',
45 'meta_value' => [ $rank->get_starting_score(), $rank->get_end_score() ],
46 'meta_compare' => 'BETWEEN',
47 'meta_type' => 'NUMERIC',
48 ];
49 }
50
51 $posts['fields'] = 'ids';
52 $posts['post_status'] = 'publish';
53
54 if ( current_user_can( 'edit_others_posts' ) === false ) {
55 $posts['author'] = get_current_user_id();
56 }
57
58 $posts = new WP_Query( $posts );
59
60 return (int) $posts->found_posts;
61 }
62 }
63