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

Yoast / wordpress-seo / 99ff5821fbe8444b259463501ff00132570d3061

25 Mar 2025 09:23AM UTC coverage: 52.446% (+3.7%) from 48.71%
99ff5821fbe8444b259463501ff00132570d3061

Pull #21958

github

web-flow
Merge d493347a3 into facbdded4
Pull Request #21958: Improve function words list for Farsi

7990 of 14101 branches covered (56.66%)

Branch coverage included in aggregate %.

20 of 20 new or added lines in 1 file covered. (100.0%)

1567 existing lines in 41 files now uncovered.

29816 of 57984 relevant lines covered (51.42%)

41124.2 hits per line

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

0.0
/admin/class-option-tabs-formatter.php
1
<?php
2
/**
3
 * WPSEO plugin file.
4
 *
5
 * @package WPSEO\Admin\Options\Tabs
6
 */
7

8
use Yoast\WP\SEO\Presenters\Admin\Beta_Badge_Presenter;
9
use Yoast\WP\SEO\Presenters\Admin\Premium_Badge_Presenter;
10

11
/**
12
 * Class WPSEO_Option_Tabs_Formatter.
13
 */
14
class WPSEO_Option_Tabs_Formatter {
15

16
        /**
17
         * Retrieves the path to the view of the tab.
18
         *
19
         * @param WPSEO_Option_Tabs $option_tabs Option Tabs to get base from.
20
         * @param WPSEO_Option_Tab  $tab         Tab to get name from.
21
         *
22
         * @return string
23
         */
24
        public function get_tab_view( WPSEO_Option_Tabs $option_tabs, WPSEO_Option_Tab $tab ) {
×
25
                return WPSEO_PATH . 'admin/views/tabs/' . $option_tabs->get_base() . '/' . $tab->get_name() . '.php';
×
26
        }
27

28
        /**
29
         * Outputs the option tabs.
30
         *
31
         * @param WPSEO_Option_Tabs $option_tabs Option Tabs to get tabs from.
32
         *
33
         * @return void
34
         */
35
        public function run( WPSEO_Option_Tabs $option_tabs ) {
×
36

37
                echo '<h2 class="nav-tab-wrapper" id="wpseo-tabs">';
×
38
                foreach ( $option_tabs->get_tabs() as $tab ) {
×
39
                        $label = esc_html( $tab->get_label() );
×
40

41
                        if ( $tab->is_beta() ) {
×
42
                                $label = '<span style="margin-right:4px;">' . $label . '</span>' . new Beta_Badge_Presenter( $tab->get_name() );
×
43
                        }
44
                        elseif ( $tab->is_premium() ) {
×
45
                                $label = '<span style="margin-right:4px;">' . $label . '</span>' . new Premium_Badge_Presenter( $tab->get_name() );
×
46
                        }
47

48
                        printf(
×
49
                                '<a class="nav-tab" id="%1$s" href="%2$s">%3$s</a>',
×
50
                                esc_attr( $tab->get_name() . '-tab' ),
×
51
                                esc_url( '#top#' . $tab->get_name() ),
×
52
                                // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: we do this on purpose
53
                                $label
×
UNCOV
54
                        );
×
55
                }
56
                echo '</h2>';
×
57

58
                foreach ( $option_tabs->get_tabs() as $tab ) {
×
59
                        $identifier = $tab->get_name();
×
60

61
                        $class = 'wpseotab ' . ( $tab->has_save_button() ? 'save' : 'nosave' );
×
62
                        printf( '<div id="%1$s" class="%2$s">', esc_attr( $identifier ), esc_attr( $class ) );
×
63

64
                        $tab_filter_name = sprintf( '%s_%s', $option_tabs->get_base(), $tab->get_name() );
×
65

66
                        /**
67
                         * Allows to override the content that is display on the specific option tab.
68
                         *
69
                         * @internal For internal Yoast SEO use only.
70
                         *
71
                         * @param string|null       $tab_contents The content that should be displayed for this tab. Leave empty for default behaviour.
72
                         * @param WPSEO_Option_Tabs $option_tabs  The registered option tabs.
73
                         * @param WPSEO_Option_Tab  $tab          The tab that is being displayed.
74
                         */
75
                        $option_tab_content = apply_filters( 'wpseo_option_tab-' . $tab_filter_name, null, $option_tabs, $tab );
×
76
                        if ( ! empty( $option_tab_content ) ) {
×
77
                                echo wp_kses_post( $option_tab_content );
×
78
                        }
79

80
                        if ( empty( $option_tab_content ) ) {
×
81
                                // Output the settings view for all tabs.
82
                                $tab_view = $this->get_tab_view( $option_tabs, $tab );
×
83

84
                                if ( is_file( $tab_view ) ) {
×
85
                                        $yform = Yoast_Form::get_instance();
×
86
                                        require $tab_view;
×
87
                                }
88
                        }
89

90
                        echo '</div>';
×
91
                }
92
        }
93
}
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

© 2025 Coveralls, Inc