WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Получай пассивный доход от сайта с помощью браузерных PUSH уведомлений
функция не описана

Yoast_Form::toggle_switch() public Yoast 3.1

Create a toggle switch input field using two radio buttons.

{} Это метод класса: Yoast_Form{}

Хуков нет.

Возвращает

null. Ничего.

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

$Yoast_Form = new Yoast_Form();
$Yoast_Form->toggle_switch( $var, $values, $label, $help, $attr );
$var(строка) (обязательный)
The variable within the option to create the radio buttons for.
$values(массив) (обязательный)
Associative array of on/off keys and their values to be used as the label elements text for the radio buttons. Optionally, each value can be an array of visible label text and screen reader text.
$label(строка) (обязательный)
The visual label for the radio buttons group, used as the fieldset legend.
$help(строка)
Inline Help that will be printed out before the visible toggles text.
$attr(массив)
Extra attributes to add to the toggle switch.

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

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

Код Yoast_Form::toggle_switch() Yoast 16.2

<?php
public function toggle_switch( $var, $values, $label, $help = '', $attr = [] ) {
	if ( ! is_array( $values ) || $values === [] ) {
		return;
	}

	$defaults = [
		'disabled' => false,
	];
	$attr     = wp_parse_args( $attr, $defaults );

	$val = $this->get_field_value( $var, false );
	if ( $val === true ) {
		$val = 'on';
	}
	if ( $val === false ) {
		$val = 'off';
	}

	$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';

	$var_esc = esc_attr( $var );

	printf( '<div class="%s">', esc_attr( 'switch-container' . $help_class ) );
	echo '<fieldset id="', $var_esc, '" class="fieldset-switch-toggle"><legend>', $label, '</legend>', $help;

	echo $this->get_disabled_note( $var );
	echo '<div class="switch-toggle switch-candy switch-yoast-seo">';

	foreach ( $values as $key => $value ) {
		$screen_reader_text_html = '';

		if ( is_array( $value ) ) {
			$screen_reader_text      = $value['screen_reader_text'];
			$screen_reader_text_html = '<span class="screen-reader-text"> ' . esc_html( $screen_reader_text ) . '</span>';
			$value                   = $value['text'];
		}

		$key_esc            = esc_attr( $key );
		$for                = $var_esc . '-' . $key_esc;
		$disabled_attribute = $this->get_disabled_attribute( $var, $attr );

		// phpcs:ignore WordPress.Security.EscapeOutput -- Reason: $disabled_attribute output is hardcoded and all other output is properly escaped.
		echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $val, $key_esc, false ) . $disabled_attribute . ' />',
		'<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html, '</label>';
	}

	echo '<a></a></div></fieldset><div class="clear"></div></div>' . PHP_EOL . PHP_EOL;
}