PluginProbe ʕ •ᴥ•ʔ
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 24.5
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v24.5
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 19.1 19.10 19.11 19.12 19.13 19.14 19.2 19.3 19.4 19.5 19.5.1 19.6 19.6.1 19.7 19.7.1 19.7.2 19.8 19.9 20.0 20.1 20.10 20.11 20.12 20.13 20.2 20.2.1 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.8.1 21.9 21.9.1 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.8.1 24.9 25.0 25.1 25.2 25.3 25.3.1 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.1.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.1.1 27.2 27.3 27.4
wordpress-seo / admin / class-option-tabs-formatter.php
wordpress-seo / admin Last commit date
ajax 2 years ago capabilities 1 year ago endpoints 2 years ago exceptions 7 years ago filters 1 year ago formatter 1 year ago google_search_console 2 years ago import 2 years ago listeners 8 years ago menu 1 year ago metabox 1 year ago notifiers 3 years ago pages 1 year ago roles 2 years ago services 5 years ago statistics 2 years ago taxonomy 1 year ago tracking 1 year ago views 1 year ago watchers 2 years ago admin-settings-changed-listener.php 2 years ago ajax.php 2 years ago class-admin-asset-analysis-worker-location.php 5 years ago class-admin-asset-dev-server-location.php 2 years ago class-admin-asset-location.php 8 years ago class-admin-asset-manager.php 1 year ago class-admin-asset-seo-location.php 4 years ago class-admin-editor-specific-replace-vars.php 2 years ago class-admin-gutenberg-compatibility-notification.php 2 years ago class-admin-help-panel.php 5 years ago class-admin-init.php 1 year ago class-admin-recommended-replace-vars.php 2 years ago class-admin-user-profile.php 1 year ago class-admin-utils.php 2 years ago class-admin.php 1 year ago class-asset.php 1 year ago class-bulk-description-editor-list-table.php 5 years ago class-bulk-editor-list-table.php 2 years ago class-bulk-title-editor-list-table.php 6 years ago class-collector.php 2 years ago class-config.php 1 year ago class-database-proxy.php 2 years ago class-export.php 2 years ago class-expose-shortlinks.php 1 year ago class-gutenberg-compatibility.php 1 year ago class-meta-columns.php 1 year ago class-my-yoast-proxy.php 2 years ago class-option-tab.php 4 years ago class-option-tabs-formatter.php 2 years ago class-option-tabs.php 2 years ago class-paper-presenter.php 5 years ago class-plugin-availability.php 1 year ago class-plugin-conflict.php 2 years ago class-premium-popup.php 2 years ago class-premium-upsell-admin-block.php 1 year ago class-primary-term-admin.php 2 years ago class-product-upsell-notice.php 2 years ago class-remote-request.php 2 years ago class-schema-person-upgrade-notification.php 2 years ago class-suggested-plugins.php 2 years ago class-wincher-dashboard-widget.php 2 years ago class-yoast-columns.php 2 years ago class-yoast-dashboard-widget.php 2 years ago class-yoast-form.php 1 year ago class-yoast-input-validation.php 1 year ago class-yoast-network-admin.php 2 years ago class-yoast-network-settings-api.php 4 years ago class-yoast-notification-center.php 1 year ago class-yoast-notification.php 1 year ago class-yoast-notifications.php 2 years ago class-yoast-plugin-conflict.php 2 years ago index.php 10 years ago interface-collection.php 7 years ago interface-installable.php 8 years ago
class-option-tabs-formatter.php
94 lines
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
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 }
94