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

Yoast / wordpress-seo / ad4f5d1decd5ba72026241af5b5f9afbe1d92e93

04 Dec 2025 12:38PM UTC coverage: 52.391%. First build
ad4f5d1decd5ba72026241af5b5f9afbe1d92e93

push

github

thijsoo
Merge branch 'trunk' of github.com:Yoast/wordpress-seo into feature/schema_aggregator

# Conflicts:
#	admin/tracking/class-tracking-settings-data.php
#	inc/options/class-wpseo-option-wpseo.php

8706 of 16076 branches covered (54.16%)

Branch coverage included in aggregate %.

158 of 860 new or added lines in 78 files covered. (18.37%)

32437 of 62454 relevant lines covered (51.94%)

46168.94 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