Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
mailchimp-for-wp
/
includes
/
forms
:
class-form-amp.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Class MC4WP_Form_AMP */ class MC4WP_Form_AMP { /** * Hook! */ public function add_hooks() { add_filter('mc4wp_form_content', array( $this, 'add_response_templates' ), 10, 2); add_filter('mc4wp_form_element_attributes', array( $this, 'add_amp_request' )); add_filter('mc4wp_load_form_scripts', array( $this, 'suppress_scripts' )); } /** * Add AMP templates for submit/success/error. * * @param string $content The form content. * @param MC4WP_Form $form The form object. * @return string Modified $content. */ public function add_response_templates($content, $form) { if (! function_exists('amp_is_request') || ! amp_is_request()) { return $content; } ob_start(); ?> <div submitting> <template type="amp-mustache"> <?php echo esc_html__('Submitting...', 'mailchimp-for-wp'); ?> </template> </div> <div submit-success> <template type="amp-mustache"> <?php echo wp_kses( $form->get_message('subscribed'), array( 'a' => array(), 'strong' => array(), 'em' => array(), ) ); ?> </template> </div> <div submit-error> <template type="amp-mustache"> {{message}} </template> </div> <?php $content .= ob_get_clean(); return $content; } /** * Add 'action-xhr' to AMP forms. * * @param array $attributes Key-Value pairs of attributes output on form. * @return array Modified $attributes. */ public function add_amp_request($attributes) { if (function_exists('amp_is_request') && amp_is_request()) { $attributes['action-xhr'] = get_rest_url(null, 'mc4wp/v1/form'); } return $attributes; } /** * Suppress form scripts on AMP pages. * * @param bool $load_scripts Whether scripts should be loaded. * @return bool Modified $load_scripts. */ public function suppress_scripts($load_scripts) { if (function_exists('amp_is_request') && amp_is_request()) { return false; } return $load_scripts; } }