diff options
Diffstat (limited to 'plugins/jetpack/class.jetpack-jitm.php')
-rw-r--r-- | plugins/jetpack/class.jetpack-jitm.php | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/plugins/jetpack/class.jetpack-jitm.php b/plugins/jetpack/class.jetpack-jitm.php index 61fbcb28..6746471e 100644 --- a/plugins/jetpack/class.jetpack-jitm.php +++ b/plugins/jetpack/class.jetpack-jitm.php @@ -317,6 +317,15 @@ class Jetpack_JITM { $hidden_jitms = Jetpack_Options::get_option( 'hide_jitm' ); unset( $envelopes['last_response_time'] ); + /** + * Allow adding your own custom JITMs after a set of JITMs has been received. + * + * @since 6.9.0 + * + * @param array $envelopes array of existing JITMs. + */ + $envelopes = apply_filters( 'jetpack_jitm_received_envelopes', $envelopes ); + foreach ( $envelopes as $idx => &$envelope ) { $dismissed_feature = isset( $hidden_jitms[ $envelope->feature_class ] ) && is_array( $hidden_jitms[ $envelope->feature_class ] ) ? $hidden_jitms[ $envelope->feature_class ] : null; @@ -331,8 +340,24 @@ class Jetpack_JITM { 'jitm_id' => $envelope->id, ) ); - $normalized_site_url = Jetpack::build_raw_urls( get_home_url() ); - $envelope->url = 'https://jetpack.com/redirect/?source=jitm-' . $envelope->id . '&site=' . $normalized_site_url . '&u=' . $user->ID; + $normalized_site_url = Jetpack::build_raw_urls( get_home_url() ); + + $url_params = array( + 'source' => "jitm-$envelope->id", + 'site' => $normalized_site_url, + 'u' => $user->ID, + ); + + if ( ! class_exists( 'Jetpack_Affiliate' ) ) { + require_once JETPACK__PLUGIN_DIR . 'class.jetpack-affiliate.php'; + } + // Get affiliate code and add it to the array of URL parameters + if ( '' !== ( $aff = Jetpack_Affiliate::init()->get_affiliate_code() ) ) { + $url_params['aff'] = $aff; + } + + $envelope->url = add_query_arg( $url_params, 'https://jetpack.com/redirect/' ); + $envelope->jitm_stats_url = Jetpack::build_stats_url( array( 'x_jetpack-jitm' => $envelope->id ) ); if ( $envelope->CTA->hook ) { |