exceptions
5 years ago
options
1 year ago
sitemaps
1 year ago
class-addon-manager.php
11 months ago
class-my-yoast-api-request.php
1 year ago
class-post-type.php
1 year ago
class-rewrite.php
1 year ago
class-upgrade-history.php
1 year ago
class-upgrade.php
1 year ago
class-wpseo-admin-bar-menu.php
1 year ago
class-wpseo-content-images.php
1 year ago
class-wpseo-custom-fields.php
1 year ago
class-wpseo-custom-taxonomies.php
1 year ago
class-wpseo-image-utils.php
1 year ago
class-wpseo-installation.php
2 years ago
class-wpseo-meta.php
1 year ago
class-wpseo-primary-term.php
2 years ago
class-wpseo-rank.php
1 year ago
class-wpseo-replace-vars.php
1 year ago
class-wpseo-replacement-variable.php
5 years ago
class-wpseo-shortlinker.php
2 years ago
class-wpseo-statistics.php
5 years ago
class-wpseo-utils.php
11 months ago
class-yoast-dynamic-rewrites.php
2 years ago
date-helper.php
5 years ago
index.php
10 years ago
interface-wpseo-wordpress-ajax-integration.php
7 years ago
interface-wpseo-wordpress-integration.php
7 years ago
language-utils.php
2 years ago
wpseo-functions-deprecated.php
2 years ago
wpseo-functions.php
2 years ago
wpseo-non-ajax-functions.php
5 years ago
class-wpseo-statistics.php
63 lines
| 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 |