WP_Screen::render_screen_options()publicWP 3.3.0

Renders the screen options tab.

Метод класса: WP_Screen{}

Хуки из метода

Возвращает

null. Ничего (null).

Использование

$WP_Screen = new WP_Screen();
$WP_Screen->render_screen_options( $options );
$options(массив)

Options for the tab.

По умолчанию: array()

  • wrap(true|false)
    Whether the screen-options-wrap div will be included.
    По умолчанию: true

Список изменений

С версии 3.3.0 Введена.

Код WP_Screen::render_screen_options() WP 6.5.2

public function render_screen_options( $options = array() ) {
	$options = wp_parse_args(
		$options,
		array(
			'wrap' => true,
		)
	);

	$wrapper_start = '';
	$wrapper_end   = '';
	$form_start    = '';
	$form_end      = '';

	// Output optional wrapper.
	if ( $options['wrap'] ) {
		$wrapper_start = '<div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="' . esc_attr__( 'Screen Options Tab' ) . '">';
		$wrapper_end   = '</div>';
	}

	// Don't output the form and nonce for the widgets accessibility mode links.
	if ( 'widgets' !== $this->base ) {
		$form_start = "\n<form id='adv-settings' method='post'>\n";
		$form_end   = "\n" . wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false, false ) . "\n</form>\n";
	}

	echo $wrapper_start . $form_start;

	$this->render_meta_boxes_preferences();
	$this->render_list_table_columns_preferences();
	$this->render_screen_layout();
	$this->render_per_page_options();
	$this->render_view_mode();
	echo $this->_screen_settings;

	/**
	 * Filters whether to show the Screen Options submit button.
	 *
	 * @since 4.4.0
	 *
	 * @param bool      $show_button Whether to show Screen Options submit button.
	 *                               Default false.
	 * @param WP_Screen $screen      Current WP_Screen instance.
	 */
	$show_button = apply_filters( 'screen_options_show_submit', false, $this );

	if ( $show_button ) {
		submit_button( __( 'Apply' ), 'primary', 'screen-options-apply', true );
	}

	echo $form_end . $wrapper_end;
}