is_amp_request() && is_array( $options ) && ! $options['disable_amp']; } /** * Add AMP actions. * * @since 2.6.0 * * @return void */ public function add_actions(): void { if ( $this->can_handle_amp_request() ) { add_filter( 'amp_post_template_analytics', array( $this, 'register_parsely_for_amp_analytics' ) ); add_filter( 'amp_analytics_entries', array( $this, 'register_parsely_for_amp_native_analytics' ) ); } } /** * Register Parse.ly for AMP analytics. * * @since 2.6.0 * * @param array $analytics The analytics registry. * @return array The analytics registry. */ public function register_parsely_for_amp_analytics( array $analytics ): array { $options = get_option( Parsely::OPTIONS_KEY ); if ( empty( $options['apikey'] ) ) { return $analytics; } $analytics['parsely'] = array( 'type' => 'parsely', 'attributes' => array(), 'config_data' => array( 'vars' => array( 'apikey' => $options['apikey'], ), ), ); return $analytics; } /** * Register Parse.ly for AMP native analytics. * * @since 2.6.0 * * @param array $analytics The analytics registry. * @return array The analytics registry. */ public function register_parsely_for_amp_native_analytics( array $analytics ): array { $options = get_option( Parsely::OPTIONS_KEY ); if ( ! empty( $options['disable_amp'] ) && true === $options['disable_amp'] ) { return $analytics; } if ( empty( $options['apikey'] ) ) { return $analytics; } $analytics['parsely'] = array( 'type' => 'parsely', 'attributes' => array(), 'config' => wp_json_encode( array( 'vars' => array( 'apikey' => $options['apikey'], ), ) ), ); return $analytics; } }