From e0d85b58532a5097cc44dc4b245e5c5bd231f6d8 Mon Sep 17 00:00:00 2001 From: Erick Hitter <services@ethitter.com> Date: Mon, 22 Feb 2016 13:33:23 -0800 Subject: [PATCH] Improve how component script is included Props @mjangda for the pointer. --- eth-amp-analytics-wp.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/eth-amp-analytics-wp.php b/eth-amp-analytics-wp.php index c55559a..fcaf92c 100644 --- a/eth-amp-analytics-wp.php +++ b/eth-amp-analytics-wp.php @@ -97,7 +97,7 @@ class ETH_AMP_Analytics_WP { */ public function action_wp_loaded() { if ( ! empty( $this->get_option( 'property_id' ) ) ) { - add_action( 'amp_post_template_head', array( $this, 'action_amp_post_template_head' ), 5 ); // Must appear before the AMP JS library + add_filter( 'amp_post_template_data', array( $this, 'filter_amp_post_template_data' ) ); add_action( 'amp_post_template_footer', array( $this, 'action_amp_post_template_footer' ) ); } } @@ -107,12 +107,16 @@ class ETH_AMP_Analytics_WP { */ /** - * Add component script to header + * Include component script * * Must appear before AMP JS library, per https://developers.google.com/analytics/devguides/collection/amp-analytics/ */ - public function action_amp_post_template_head( $scripts ) { - ?><script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script><?php + public function filter_amp_post_template_data( $data ) { + if ( ! isset( $data['amp_component_scripts']['amp-analytics'] ) ) { + $data['amp_component_scripts']['amp-analytics'] = 'https://cdn.ampproject.org/v0/amp-analytics-0.1.js'; + } + + return $data; } /** -- GitLab