Inventory_Presser_Contact_Form_7::add_mail_tags( string $output, string $name, mixed $html, mixed $mail_tag = null )
Replaces mail tags with the data we promised.
On This Page
Parameters Parameters
- $output
-
(string) (Required)
- $name
-
(string) (Required)
- $html
-
(mixed) (Required)
- $mail_tag
-
(mixed) (Optional)
Default value: null
Return Return
(string)
Source Source
File: includes/integrations/class-contact-form-7.php
public function add_mail_tags( $output, $name, $html, $mail_tag = null ) { $name = preg_replace( '/^wpcf7\./', '_', $name ); // for back-compat. $submission = WPCF7_Submission::get_instance(); if ( ! $submission ) { return $output; } // [invp_adf_timestamp] handler if ( 'invp_adf_timestamp' === $name && $timestamp = $submission->get_meta( 'timestamp' ) ) { return wp_date( 'c', $timestamp ); } // [invp_adf_vehicle] handler if ( 'invp_adf_vehicle' === $name ) { if ( ! has_filter( 'wp_mail_content_type', array( $this, 'html_mail_content_type' ) ) ) { add_filter( 'wp_mail_content_type', array( $this, 'html_mail_content_type' ) ); } // What name in posted_data is the vehicle field? $post_id = $this->get_submission_vehicle_post_id(); if ( false === $post_id ) { return ''; } return sprintf( '<vehicle>' . '<id>%s</id>' . '<year>%s</year>' . '<make>%s</make>' . '<model>%s</model>' . '<vin>%s</vin>' . '<stock>%s</stock>' . '</vehicle>', INVP::get_meta( 'car_id', $post_id ), invp_get_the_year( $post_id ), invp_get_the_make( $post_id ), invp_get_the_model( $post_id ), invp_get_the_vin( $post_id ), invp_get_the_stock_number( $post_id ) ); } // [invp_adf_vendor] handler if ( 'invp_adf_vendor' === $name ) { if ( ! has_filter( 'wp_mail_content_type', array( $this, 'html_mail_content_type' ) ) ) { add_filter( 'wp_mail_content_type', array( $this, 'html_mail_content_type' ) ); } // Contact Form 7 default mail tag equivalents. $_site_title = wp_specialchars_decode( get_bloginfo( 'name', true ), ENT_QUOTES ); $_site_url = get_bloginfo( 'url', true ); // Get the vehicle. $post_id = $this->get_submission_vehicle_post_id(); $vendor_name = $_site_title; // Does the vehicle have a term in the locations taxonomy? $location_terms = get_the_terms( $post_id, 'location' ); if ( ! empty( $location_terms ) ) { $vendor_name = $location_terms[0]->name; $term_id = $location_terms[0]->term_id; $address_street = get_term_meta( $term_id, 'address_street', true ); $address_street_line_two = get_term_meta( $term_id, 'address_street_line_two', true ); $address_city = get_term_meta( $term_id, 'address_city', true ); $address_state = get_term_meta( $term_id, 'address_state', true ); $address_zip = get_term_meta( $term_id, 'address_zip', true ); $phone = get_term_meta( $term_id, 'phone_1_number', true ); return sprintf( '<vendor>' . '<vendorname>%1$s</vendorname>' . '<contact>' . '<name part="full" type="business">%1$s</name>' . '<phone type="voice">%2$s</phone>' . '<address>' . '<street line="1">%3$s</street>' . '<street line="2">%4$s</street>' . '<city>%5$s</city>' . '<regioncode>%6$s</regioncode>' . '<postalcode>%7$s</postalcode>' . '<url>%8$s</url>' . '</address>' . '</contact>' . '</vendor>', $vendor_name, $phone, $address_street, $address_street_line_two, $address_city, $address_state, $address_zip, $_site_url ); } else { // This vehicle does not have a term in the location taxonomy. return sprintf( '<vendor>' . '<vendorname>%1$s</vendorname>' . '<contact>' . '<name part="full" type="business">%1$s</name>' . '<url>%2$s</url>' . '</contact>' . '</vendor>', $_site_title, $_site_url ); } } return $output; }
Expand full source codeCollapse full source codeView on Github