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

Yoast / wordpress-seo / 5066322038

pending completion
5066322038

push

github

GitHub
Merge pull request #20316 from Yoast/JRF/ghactions-run-more-selectively

2550 of 29012 relevant lines covered (8.79%)

0.32 hits per line

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

0.0
/src/presenters/admin/help-link-presenter.php
1
<?php
2

3
namespace Yoast\WP\SEO\Presenters\Admin;
4

5
use WPSEO_Admin_Asset_Manager;
6
use Yoast\WP\SEO\Presenters\Abstract_Presenter;
7

8
/**
9
 * Represents the presenter class for Help link.
10
 */
11
class Help_Link_Presenter extends Abstract_Presenter {
12

13
        /**
14
         * Help link.
15
         *
16
         * @var string
17
         */
18
        private $link;
19

20
        /**
21
         * Help link visually hidden text.
22
         *
23
         * @var string
24
         */
25
        private $link_text;
26

27
        /**
28
         * Whether the Help link opens in a new browser tab.
29
         *
30
         * @var bool
31
         */
32
        private $opens_in_new_browser_tab;
33

34
        /**
35
         * An instance of the WPSEO_Admin_Asset_Manager class.
36
         *
37
         * @var WPSEO_Admin_Asset_Manager
38
         */
39
        private $asset_manager;
40

41
        /**
42
         * Help_Link_Presenter constructor.
43
         *
44
         * @param string $link                     Help link.
45
         * @param string $link_text                Help link visually hidden text.
46
         * @param bool   $opens_in_new_browser_tab Whether the link opens in a new browser tab. Default true.
47
         */
48
        public function __construct( $link = '', $link_text = '', $opens_in_new_browser_tab = true ) {
49
                $this->link                     = $link;
×
50
                $this->link_text                = $link_text;
×
51
                $this->opens_in_new_browser_tab = $opens_in_new_browser_tab;
×
52

53
                if ( ! $this->asset_manager ) {
×
54
                        $this->asset_manager = new WPSEO_Admin_Asset_Manager();
×
55
                }
56

57
                $this->asset_manager->enqueue_style( 'admin-global' );
×
58
        }
59

60
        /**
61
         * Presents the Help link.
62
         *
63
         * @return string The styled Help link.
64
         */
65
        public function present() {
66
                if ( $this->link === '' || $this->link_text === '' ) {
×
67
                        return;
×
68
                }
69

70
                $target_blank_attribute = '';
×
71
                $new_tab_message        = '';
×
72

73
                if ( $this->opens_in_new_browser_tab ) {
×
74
                        $target_blank_attribute = ' target="_blank"';
×
75
                        $new_tab_message        = ' ' . \__( '(Opens in a new browser tab)', 'wordpress-seo' );
×
76
                }
77

78
                return \sprintf(
×
79
                        '<a href="%1$s"%2$s class="yoast_help yoast-help-link dashicons"><span class="yoast-help-icon" aria-hidden="true"></span><span class="screen-reader-text">%3$s</span></a>',
×
80
                        \esc_url( $this->link ),
×
81
                        $target_blank_attribute,
×
82
                        \esc_html( $this->link_text . $new_tab_message )
×
83
                );
×
84
        }
85
}
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