PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.5
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.5
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
← All changes | admin/class-option-tabs-formatter.php +19 -5 18.428.5 View file →
@@ -4,8 +4,11 @@
4 4 *
5 5 * @package WPSEO\Admin\Options\Tabs
6 6 */
7 7
8 +use Yoast\WP\SEO\Presenters\Admin\Beta_Badge_Presenter;
9 +use Yoast\WP\SEO\Presenters\Admin\Premium_Badge_Presenter;
10 +
8 11 /**
9 12 * Class WPSEO_Option_Tabs_Formatter.
10 13 */
11 14 class WPSEO_Option_Tabs_Formatter {
@@ -25,18 +28,30 @@
25 28 /**
26 29 * Outputs the option tabs.
27 30 *
28 31 * @param WPSEO_Option_Tabs $option_tabs Option Tabs to get tabs from.
32 + *
33 + * @return void
29 34 */
30 35 public function run( WPSEO_Option_Tabs $option_tabs ) {
31 36
32 37 echo '<h2 class="nav-tab-wrapper" id="wpseo-tabs">';
33 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 +
34 48 printf(
35 49 '<a class="nav-tab" id="%1$s" href="%2$s">%3$s</a>',
36 50 esc_attr( $tab->get_name() . '-tab' ),
37 51 esc_url( '#top#' . $tab->get_name() ),
38 - esc_html( $tab->get_label() )
52 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: we do this on purpose
53 + $label,
39 54 );
40 55 }
41 56 echo '</h2>';
42 57
@@ -52,12 +67,11 @@
52 67 * Allows to override the content that is display on the specific option tab.
53 68 *
54 69 * @internal For internal Yoast SEO use only.
55 70 *
56 - * @api string|null The content that should be displayed for this tab. Leave empty for default behaviour.
57 - *
58 - * @param WPSEO_Option_Tabs $option_tabs The registered option tabs.
59 - * @param WPSEO_Option_Tab $tab The tab that is being displayed.
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.
60 74 */
61 75 $option_tab_content = apply_filters( 'wpseo_option_tab-' . $tab_filter_name, null, $option_tabs, $tab );
62 76 if ( ! empty( $option_tab_content ) ) {
63 77 echo wp_kses_post( $option_tab_content );