• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Yoast / wordpress-seo / 530e8fcfbf98ec097d23257add5297438f26d3fc

20 Nov 2025 11:27AM UTC coverage: 53.366% (-0.02%) from 53.381%
530e8fcfbf98ec097d23257add5297438f26d3fc

push

github

web-flow
Merge pull request #22704 from Yoast/321-highlight-google-docs-and-duplicate-post-on-plans

321 highlight google docs and duplicate post on plans

8618 of 15923 branches covered (54.12%)

Branch coverage included in aggregate %.

29 of 74 new or added lines in 12 files covered. (39.19%)

6 existing lines in 1 file now uncovered.

32320 of 60789 relevant lines covered (53.17%)

47433.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.64
/src/plans/application/duplicate-post-manager.php
1
<?php
2

3
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
4
namespace Yoast\WP\SEO\Plans\Application;
5

6
use WPSEO_Admin_Utils;
7

8
/**
9
 * The Yoast SEO Duplicate Post plugin Manager.
10
 */
11
class Duplicate_Post_Manager {
12
        /**
13
         * The Duplicate post main file.
14
         *
15
         * @var string
16
         */
17
        public const PLUGIN_FILE = 'duplicate-post/duplicate-post.php';
18

19
        /**
20
         * Checks if the plugin is installed and activated in WordPress.
21
         *
22
         * @return bool True when installed and activated.
23
         */
NEW
24
        protected function is_activated() {
×
NEW
25
                return \is_plugin_active( self::PLUGIN_FILE );
×
26
        }
27

28
        /**
29
         * Checks if the plugin is installed in WordPress.
30
         *
31
         * @return bool True when installed.
32
         */
NEW
33
        protected function is_installed() {
×
NEW
34
                return \file_exists( \WP_PLUGIN_DIR . '/' . self::PLUGIN_FILE );
×
35
        }
36

37
        /**
38
         * Gets the duplicate post plans page params
39
         *
40
         * @return array<string|bool> The list of params.
41
         */
42
        public function get_params() {
2✔
43
                return [
2✔
44
                        'isInstalled'     => $this->is_installed(),
2✔
45
                        'isActivated'     => $this->is_activated(),
2✔
46
                        'installationUrl' => \html_entity_decode( WPSEO_Admin_Utils::get_install_url( self::PLUGIN_FILE ) ),
2✔
47
                        'activationUrl'   => \html_entity_decode( WPSEO_Admin_Utils::get_activation_url( self::PLUGIN_FILE ) ),
2✔
48
                ];
2✔
49
        }
50
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc