Title: WP_Screen::render_screen_meta
Published: April 25, 2014
Last modified: August 20, 2026

---

# WP_Screen::render_screen_meta()

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#description)
 * [Source](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#wp--skip-link--target)

Renders the screen’s help section.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#description)󠁿

This will trigger the deprecated filters for backward compatibility.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#source)󠁿

    ```php
    public function render_screen_meta() {

    	/**
    	 * Filters the legacy contextual help list.
    	 *
    	 * @since 2.7.0
    	 * @deprecated 3.3.0 Use get_current_screen() with
    	 *                   WP_Screen::add_help_tab() or
    	 *                   WP_Screen::remove_help_tab() instead.
    	 *
    	 * @param array     $old_compat_help Old contextual help.
    	 * @param WP_Screen $screen          Current WP_Screen instance.
    	 */
    	self::$_old_compat_help = apply_filters_deprecated(
    		'contextual_help_list',
    		array( self::$_old_compat_help, $this ),
    		'3.3.0',
    		'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()'
    	);

    	$old_help = self::$_old_compat_help[ $this->id ] ?? '';

    	/**
    	 * Filters the legacy contextual help text.
    	 *
    	 * @since 2.7.0
    	 * @deprecated 3.3.0 Use get_current_screen() with
    	 *                   WP_Screen::add_help_tab() or
    	 *                   WP_Screen::remove_help_tab() instead.
    	 *
    	 * @param string    $old_help  Help text that appears on the screen.
    	 * @param string    $screen_id Screen ID.
    	 * @param WP_Screen $screen    Current WP_Screen instance.
    	 */
    	$old_help = apply_filters_deprecated(
    		'contextual_help',
    		array( $old_help, $this->id, $this ),
    		'3.3.0',
    		'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()'
    	);

    	// Default help only if there is no old-style block of text and no new-style help tabs.
    	if ( empty( $old_help ) && ! $this->get_help_tabs() ) {

    		/**
    		 * Filters the default legacy contextual help text.
    		 *
    		 * @since 2.8.0
    		 * @deprecated 3.3.0 Use get_current_screen() with
    		 *                   WP_Screen::add_help_tab() or
    		 *                   WP_Screen::remove_help_tab() instead.
    		 *
    		 * @param string $old_help_default Default contextual help text.
    		 */
    		$default_help = apply_filters_deprecated(
    			'default_contextual_help',
    			array( '' ),
    			'3.3.0',
    			'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()'
    		);
    		if ( $default_help ) {
    			$old_help = '<p>' . $default_help . '</p>';
    		}
    	}

    	if ( $old_help ) {
    		$this->add_help_tab(
    			array(
    				'id'      => 'old-contextual-help',
    				'title'   => __( 'Overview' ),
    				'content' => $old_help,
    			)
    		);
    	}

    	$help_sidebar = $this->get_help_sidebar();

    	$help_class = 'hidden';
    	if ( ! $help_sidebar ) {
    		$help_class .= ' no-sidebar';
    	}

    	// Time to render!
    	?>
    	<div id="screen-meta" class="metabox-prefs">

    		<div id="contextual-help-wrap" class="<?php echo esc_attr( $help_class ); ?>" tabindex="-1" aria-label="<?php esc_attr_e( 'Contextual Help Tab' ); ?>">
    			<div id="contextual-help-back"></div>
    			<div id="contextual-help-columns">
    				<div class="contextual-help-tabs">
    					<ul>
    					<?php
    					$class = ' class="active"';
    					foreach ( $this->get_help_tabs() as $tab ) :
    						$link_id  = "tab-link-{$tab['id']}";
    						$panel_id = "tab-panel-{$tab['id']}";
    						?>

    						<li id="<?php echo esc_attr( $link_id ); ?>"<?php echo $class; ?>>
    							<a href="<?php echo esc_url( "#$panel_id" ); ?>" aria-controls="<?php echo esc_attr( $panel_id ); ?>">
    								<?php echo esc_html( $tab['title'] ); ?>
    							</a>
    						</li>
    						<?php
    						$class = '';
    					endforeach;
    					?>
    					</ul>
    				</div>

    				<?php if ( $help_sidebar ) : ?>
    				<div class="contextual-help-sidebar">
    					<?php echo $help_sidebar; ?>
    				</div>
    				<?php endif; ?>

    				<div class="contextual-help-tabs-wrap">
    					<?php
    					$classes = 'help-tab-content active';
    					foreach ( $this->get_help_tabs() as $tab ) :
    						$panel_id = "tab-panel-{$tab['id']}";
    						?>

    						<div id="<?php echo esc_attr( $panel_id ); ?>" class="<?php echo $classes; ?>">
    							<?php
    							// Print tab content.
    							echo $tab['content'];

    							// If it exists, fire tab callback.
    							if ( ! empty( $tab['callback'] ) ) {
    								call_user_func_array( $tab['callback'], array( $this, $tab ) );
    							}
    							?>
    						</div>
    						<?php
    						$classes = 'help-tab-content';
    					endforeach;
    					?>
    				</div>
    			</div>
    		</div>
    	<?php
    	// Setup layout columns.

    	/**
    	 * Filters the array of screen layout columns.
    	 *
    	 * This hook provides back-compat for plugins using the back-compat
    	 * Filters instead of add_screen_option().
    	 *
    	 * @since 2.8.0
    	 *
    	 * @param array     $empty_columns Empty array.
    	 * @param string    $screen_id     Screen ID.
    	 * @param WP_Screen $screen        Current WP_Screen instance.
    	 */
    	$columns = apply_filters( 'screen_layout_columns', array(), $this->id, $this );

    	if ( ! empty( $columns ) && isset( $columns[ $this->id ] ) ) {
    		$this->add_option( 'layout_columns', array( 'max' => $columns[ $this->id ] ) );
    	}

    	if ( $this->get_option( 'layout_columns' ) ) {
    		$this->columns = (int) get_user_option( "screen_layout_$this->id" );

    		$layout_columns = (int) $this->get_option( 'layout_columns', 'default' );
    		if ( ! $this->columns && $layout_columns ) {
    			$this->columns = $layout_columns;
    		}
    	}
    	$GLOBALS['screen_layout_columns'] = $this->columns; // Set the global for back-compat.

    	// Add screen options.
    	if ( $this->show_screen_options() ) {
    		$this->render_screen_options();
    	}
    	?>
    	</div>
    	<?php
    	if ( ! $this->get_help_tabs() && ! $this->show_screen_options() ) {
    		return;
    	}
    	?>
    	<div id="screen-meta-links">
    	<?php if ( $this->show_screen_options() ) : ?>
    		<div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
    		<button type="button" id="show-settings-link" class="button button-compact show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e( 'Screen Options' ); ?></button>
    		</div>
    		<?php
    	endif;
    	if ( $this->get_help_tabs() ) :
    		?>
    		<div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
    		<button type="button" id="contextual-help-link" class="button button-compact show-settings" aria-controls="contextual-help-wrap" aria-expanded="false"><?php _e( 'Help' ); ?></button>
    		</div>
    	<?php endif; ?>
    	</div>
    	<?php
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-screen.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-admin/includes/class-wp-screen.php#L789)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-admin/includes/class-wp-screen.php#L789-L987)

## 󠀁[Hooks](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#hooks)󠁿

 [apply_filters_deprecated( ‘contextual_help’, string $old_help, string $screen_id, WP_Screen $screen )](https://developer.wordpress.org/reference/hooks/contextual_help/)

Filters the legacy contextual help text.

 [apply_filters_deprecated( ‘contextual_help_list’, array $old_compat_help, WP_Screen $screen )](https://developer.wordpress.org/reference/hooks/contextual_help_list/)

Filters the legacy contextual help list.

 [apply_filters_deprecated( ‘default_contextual_help’, string $old_help_default )](https://developer.wordpress.org/reference/hooks/default_contextual_help/)

Filters the default legacy contextual help text.

 [apply_filters( ‘screen_layout_columns’, array $empty_columns, string $screen_id, WP_Screen $screen )](https://developer.wordpress.org/reference/hooks/screen_layout_columns/)

Filters the array of screen layout columns.

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#related)󠁿

| Uses | Description | 
| [apply_filters_deprecated()](https://developer.wordpress.org/reference/functions/apply_filters_deprecated/)`wp-includes/plugin.php` |

Fires functions attached to a deprecated filter hook.

  | 
| [WP_Screen::show_screen_options()](https://developer.wordpress.org/reference/classes/wp_screen/show_screen_options/)`wp-admin/includes/class-wp-screen.php` |  | 
| [WP_Screen::render_screen_options()](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_options/)`wp-admin/includes/class-wp-screen.php` |

Renders the screen options tab.

  | 
| [WP_Screen::get_help_tabs()](https://developer.wordpress.org/reference/classes/wp_screen/get_help_tabs/)`wp-admin/includes/class-wp-screen.php` |

Gets the help tabs registered for the screen.

  | 
| [WP_Screen::add_help_tab()](https://developer.wordpress.org/reference/classes/wp_screen/add_help_tab/)`wp-admin/includes/class-wp-screen.php` |

Adds a help tab to the contextual help for the screen.

  | 
| [WP_Screen::get_help_sidebar()](https://developer.wordpress.org/reference/classes/wp_screen/get_help_sidebar/)`wp-admin/includes/class-wp-screen.php` |

Gets the content from a contextual help sidebar.

  | 
| [WP_Screen::get_option()](https://developer.wordpress.org/reference/classes/wp_screen/get_option/)`wp-admin/includes/class-wp-screen.php` |

Gets the arguments for an option for the screen.

  | 
| [WP_Screen::add_option()](https://developer.wordpress.org/reference/classes/wp_screen/add_option/)`wp-admin/includes/class-wp-screen.php` |

Adds an option for the screen.

  | 
| [esc_attr_e()](https://developer.wordpress.org/reference/functions/esc_attr_e/)`wp-includes/l10n.php` |

Displays translated text that has been escaped for safe use in an attribute.

  | 
| [get_user_option()](https://developer.wordpress.org/reference/functions/get_user_option/)`wp-includes/user.php` |

Retrieves user option that can be either per Site or per Network.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  | 
| [_e()](https://developer.wordpress.org/reference/functions/_e/)`wp-includes/l10n.php` |

Displays translated text.

  | 
| [esc_attr()](https://developer.wordpress.org/reference/functions/esc_attr/)`wp-includes/formatting.php` |

Escaping for HTML attributes.

  | 
| [esc_url()](https://developer.wordpress.org/reference/functions/esc_url/)`wp-includes/formatting.php` |

Checks and cleans a URL.

  | 
| [esc_html()](https://developer.wordpress.org/reference/functions/esc_html/)`wp-includes/formatting.php` |

Escaping for HTML blocks.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  |

[Show 11 more](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_meta/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.3.0](https://developer.wordpress.org/reference/since/3.3.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_screen%2Frender_screen_meta%2F)
before being able to contribute a note or feedback.