WPCF7_TagGeneratorGenerator::selectable_valuesprivateCF7 1.0

Template method for selectable values useful for checkboxes or a menu.

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

Хуков нет.

Возвращает

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

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

// private - только в коде основоного (родительского) класса
$result = $this->selectable_values( $options );
$options
.
По умолчанию: ''

Код WPCF7_TagGeneratorGenerator::selectable_values() CF7 6.1.5

private function selectable_values( $options = '' ) {
	$options = wp_parse_args( $options, array(
		'first_as_label' => false,
		'use_label_element' => false,
	) );

	$formatter = new WPCF7_HTMLFormatter();

	$formatter->append_start_tag( 'fieldset' );

	$formatter->append_start_tag( 'legend', array(
		'id' => $this->ref( 'selectable-values-legend' ),
	) );

	$formatter->append_preformatted(
		esc_html( __( 'Selectable values', 'contact-form-7' ) )
	);

	$formatter->end_tag( 'legend' );

	$formatter->append_start_tag( 'span', array(
		'id' => $this->ref( 'selectable-values-description' ),
	) );

	$formatter->append_preformatted(
		esc_html( __( 'One item per line.', 'contact-form-7' ) )
	);

	$formatter->end_tag( 'span' );

	$formatter->append_start_tag( 'br' );

	$formatter->append_start_tag( 'textarea', array(
		'required' => true,
		'data-tag-part' => 'value',
		'aria-labelledby' => $this->ref( 'selectable-values-legend' ),
		'aria-describedby' => $this->ref( 'selectable-values-description' ),
	) );

	$formatter->append_preformatted(
		esc_html( __( "Option 1\nOption 2\nOption 3", 'contact-form-7' ) )
	);

	$formatter->end_tag( 'textarea' );

	if ( $options['first_as_label'] ) {
		$formatter->append_start_tag( 'br' );
		$formatter->append_start_tag( 'label' );

		$formatter->append_start_tag( 'input', array(
			'type' => 'checkbox',
			'checked' => 'checked' === $options['first_as_label'],
			'data-tag-part' => 'option',
			'data-tag-option' => 'first_as_label',
		) );

		$formatter->append_whitespace();

		$formatter->append_preformatted(
			esc_html( __( 'Use the first item as a label.', 'contact-form-7' ) )
		);

		$formatter->end_tag( 'label' );
	}

	if ( $options['use_label_element'] ) {
		$formatter->append_start_tag( 'br' );
		$formatter->append_start_tag( 'label' );

		$formatter->append_start_tag( 'input', array(
			'type' => 'checkbox',
			'checked' => 'checked' === $options['use_label_element'],
			'data-tag-part' => 'option',
			'data-tag-option' => 'use_label_element',
		) );

		$formatter->append_whitespace();

		$formatter->append_preformatted(
			esc_html( __( 'Wrap each item with a label element.', 'contact-form-7' ) )
		);

		$formatter->end_tag( 'label' );
	}

	$formatter->print();
}