wpcf7_editor_box_mail() │ CF7 1.0

Хуков нет.

Возвращает

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

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

wpcf7_editor_box_mail( $post, $options );
$post(обязательный)
.
$options
.
По умолчанию: ''

Код wpcf7_editor_box_mail() CF7 6.1.7

function wpcf7_editor_box_mail( $post, $options = '' ) {
	$options = wp_parse_args( $options, array(
		'id' => 'wpcf7-mail',
		'name' => 'mail',
		'title' => __( 'Mail', 'contact-form-7' ),
		'use' => null,
	) );

	$id = esc_attr( $options['id'] );

	$mail = wp_parse_args( $post->prop( $options['name'] ), array(
		'active' => false,
		'recipient' => '',
		'sender' => '',
		'subject' => '',
		'body' => '',
		'additional_headers' => '',
		'attachments' => '',
		'use_html' => false,
		'exclude_blank' => false,
	) );

	$formatter = new WPCF7_HTMLFormatter();

	$formatter->append_start_tag( 'div', array(
		'class' => 'contact-form-editor-box-mail',
		'id' => $id,
	) );

	$formatter->append_start_tag( 'h2' );
	$formatter->append_preformatted( esc_html( $options['title'] ) );
	$formatter->end_tag( 'h2' );

	if ( ! empty( $options['use'] ) ) {
		$formatter->append_start_tag( 'label', array(
			'for' => sprintf( '%s-active', $id ),
		) );

		$formatter->append_start_tag( 'input', array(
			'type' => 'checkbox',
			'id' => sprintf( '%s-active', $id ),
			'name' => sprintf( '%s[active]', $id ),
			'data-config-field' => '',
			'data-toggle' => sprintf( '%s-fieldset', $id ),
			'value' => '1',
			'checked' => $mail['active'],
		) );

		$formatter->append_whitespace();
		$formatter->append_preformatted( esc_html( $options['use'] ) );
		$formatter->end_tag( 'label' );

		$formatter->append_start_tag( 'p', array(
			'class' => 'description',
		) );

		$formatter->append_preformatted(
			esc_html( __( 'Mail (2) is an additional mail template often used as an autoresponder.', 'contact-form-7' ) )
		);

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

	$formatter->append_start_tag( 'fieldset', array(
		'id' => sprintf( '%s-fieldset', $id ),
	) );

	$formatter->append_start_tag( 'legend' );

	$description = sprintf(
		/* translators: %s: URL to support page about the email template */
		__( 'You can edit the email template here. For details, see <a href="%s">Setting up mail</a>.', 'contact-form-7' ),
		__( 'https://contactform7.com/setting-up-mail/', 'contact-form-7' )
	);

	$formatter->append_preformatted( $description );

	$formatter->append_start_tag( 'br' );

	$formatter->append_preformatted(
		esc_html( __( 'In the following fields, you can use these mail-tags:', 'contact-form-7' ) )
	);

	$formatter->append_start_tag( 'br' );

	$formatter->call_user_func( static function () use ( $post, $options ) {
		$post->suggest_mail_tags( $options['name'] );
	} );

	$formatter->end_tag( 'legend' );

	$formatter->append_start_tag( 'table', array(
		'class' => 'form-table',
	) );

	$formatter->append_start_tag( 'tbody' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-recipient', $id ),
	) );

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

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'input', array(
		'type' => 'text',
		'id' => sprintf( '%s-recipient', $id ),
		'name' => sprintf( '%s[recipient]', $id ),
		'class' => 'large-text code',
		'size' => 70,
		'value' => $mail['recipient'],
		'data-config-field' => sprintf( '%s.recipient', $options['name'] ),
	) );

	$formatter->end_tag( 'tr' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-sender', $id ),
	) );

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

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'input', array(
		'type' => 'text',
		'id' => sprintf( '%s-sender', $id ),
		'name' => sprintf( '%s[sender]', $id ),
		'class' => 'large-text code',
		'size' => 70,
		'value' => $mail['sender'],
		'data-config-field' => sprintf( '%s.sender', $options['name'] ),
	) );

	$formatter->end_tag( 'tr' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-subject', $id ),
	) );

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

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'input', array(
		'type' => 'text',
		'id' => sprintf( '%s-subject', $id ),
		'name' => sprintf( '%s[subject]', $id ),
		'class' => 'large-text code',
		'size' => 70,
		'value' => $mail['subject'],
		'data-config-field' => sprintf( '%s.subject', $options['name'] ),
	) );

	$formatter->end_tag( 'tr' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-additional-headers', $id ),
	) );

	$formatter->append_preformatted(
		esc_html( __( 'Additional headers', 'contact-form-7' ) )
	);

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'textarea', array(
		'id' => sprintf( '%s-additional-headers', $id ),
		'name' => sprintf( '%s[additional_headers]', $id ),
		'cols' => 100,
		'rows' => 4,
		'class' => 'large-text code',
		'data-config-field' => sprintf( '%s.additional_headers', $options['name'] ),
	) );

	$formatter->append_preformatted(
		esc_textarea( $mail['additional_headers'] )
	);

	$formatter->end_tag( 'tr' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-body', $id ),
	) );

	$formatter->append_preformatted(
		esc_html( __( 'Message body', 'contact-form-7' ) )
	);

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'textarea', array(
		'id' => sprintf( '%s-body', $id ),
		'name' => sprintf( '%s[body]', $id ),
		'cols' => 100,
		'rows' => 18,
		'class' => 'large-text code',
		'data-config-field' => sprintf( '%s.body', $options['name'] ),
	) );

	$formatter->append_preformatted(
		esc_textarea( $mail['body'] )
	);

	$formatter->end_tag( 'textarea' );

	$formatter->append_start_tag( 'p' );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-exclude-blank', $id ),
	) );

	$formatter->append_start_tag( 'input', array(
		'type' => 'checkbox',
		'id' => sprintf( '%s-exclude-blank', $id ),
		'name' => sprintf( '%s[exclude_blank]', $id ),
		'value' => '1',
		'checked' => $mail['exclude_blank'],
	) );

	$formatter->append_whitespace();

	$formatter->append_preformatted(
		esc_html( __( 'Exclude a line from output if all of its mail-tags are blank', 'contact-form-7' ) )
	);

	$formatter->append_start_tag( 'p' );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-use-html', $id ),
	) );

	$formatter->append_start_tag( 'input', array(
		'type' => 'checkbox',
		'id' => sprintf( '%s-use-html', $id ),
		'name' => sprintf( '%s[use_html]', $id ),
		'value' => '1',
		'checked' => $mail['use_html'],
	) );

	$formatter->append_whitespace();

	$formatter->append_preformatted(
		esc_html( __( 'Use HTML content type', 'contact-form-7' ) )
	);

	$formatter->end_tag( 'tr' );

	$formatter->append_start_tag( 'tr' );

	$formatter->append_start_tag( 'th', array(
		'scope' => 'row',
	) );

	$formatter->append_start_tag( 'label', array(
		'for' => sprintf( '%s-attachments', $id ),
	) );

	$formatter->append_preformatted(
		esc_html( __( 'File attachments', 'contact-form-7' ) )
	);

	$formatter->append_start_tag( 'td' );

	$formatter->append_start_tag( 'textarea', array(
		'id' => sprintf( '%s-attachments', $id ),
		'name' => sprintf( '%s[attachments]', $id ),
		'cols' => 100,
		'rows' => 4,
		'class' => 'large-text code',
		'data-config-field' => sprintf( '%s.attachments', $options['name'] ),
	) );

	$formatter->append_preformatted(
		esc_textarea( $mail['attachments'] )
	);

	$formatter->end_tag( 'textarea' );
	$formatter->end_tag( 'tr' );

	$formatter->print();
}