WPCF7_MailTag{}CF7 1.0

Хуков нет.

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

$WPCF7_MailTag = new WPCF7_MailTag();
// use class methods

Методы

  1. public __construct( $tag, $tagname, $values )
  2. public corresponding_form_tag()
  3. public field_name()
  4. public get_option( $option )
  5. public tag_name()
  6. public values()

Код WPCF7_MailTag{} CF7 5.6.3

class WPCF7_MailTag {

	private $tag;
	private $tagname = '';
	private $name = '';
	private $options = array();
	private $values = array();
	private $form_tag = null;

	public function __construct( $tag, $tagname, $values ) {
		$this->tag = $tag;
		$this->name = $this->tagname = $tagname;

		$this->options = array(
			'do_not_heat' => false,
			'format' => '',
		);

		if ( ! empty( $values ) ) {
			preg_match_all( '/"[^"]*"|\'[^\']*\'/', $values, $matches );
			$this->values = wpcf7_strip_quote_deep( $matches[0] );
		}

		if ( preg_match( '/^_raw_(.+)$/', $tagname, $matches ) ) {
			$this->name = trim( $matches[1] );
			$this->options['do_not_heat'] = true;
		}

		if ( preg_match( '/^_format_(.+)$/', $tagname, $matches ) ) {
			$this->name = trim( $matches[1] );
			$this->options['format'] = $this->values[0];
		}
	}

	public function tag_name() {
		return $this->tagname;
	}

	public function field_name() {
		return strtr( $this->name, '.', '_' );
	}

	public function get_option( $option ) {
		return $this->options[$option];
	}

	public function values() {
		return $this->values;
	}

	public function corresponding_form_tag() {
		if ( $this->form_tag instanceof WPCF7_FormTag ) {
			return $this->form_tag;
		}

		if ( $submission = WPCF7_Submission::get_instance() ) {
			$contact_form = $submission->get_contact_form();
			$tags = $contact_form->scan_form_tags( array(
				'name' => $this->field_name(),
				'feature' => '! zero-controls-container',
			) );

			if ( $tags ) {
				$this->form_tag = $tags[0];
			}
		}

		return $this->form_tag;
	}
}