PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.2
Jetpack – WP Security, Backup, Speed, & Growth v16.2
16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 All 503 releases
← All changes | modules/subscriptions/views.php +107 -64 12.7.316.2 View file →
@@ -1,8 +1,14 @@
1 1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 2
3 3 // phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files.
4 4
5 +use Automattic\Jetpack\Assets;
6 +
7 +if ( ! defined( 'ABSPATH' ) ) {
8 + exit( 0 );
9 +}
10 +
5 11 /**
6 12 * Jetpack_Subscriptions_Widget main view class.
7 13 */
8 14 class Jetpack_Subscriptions_Widget extends WP_Widget {
@@ -64,14 +70,16 @@
64 70 $name,
65 71 $widget_ops
66 72 );
67 73
68 - if ( self::is_jetpack() &&
69 - (
74 + if (
75 + self::is_jetpack()
76 + && (
70 77 is_active_widget( false, false, $this->id_base ) ||
71 78 is_active_widget( false, false, 'monster' ) ||
72 79 is_customize_preview()
73 80 )
81 + && ! wp_is_block_theme()
74 82 ) {
75 83 add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ) );
76 84 }
77 85
@@ -94,15 +102,28 @@
94 102 *
95 103 * @since 4.5.0
96 104 */
97 105 public function enqueue_style() {
98 - wp_register_style(
106 + $path = Assets::get_file_url_for_environment(
107 + '_inc/build/subscriptions/subscriptions.min.css',
108 + 'modules/subscriptions/subscriptions.css'
109 + );
110 +
111 + wp_enqueue_style(
99 112 'jetpack-subscriptions',
100 - plugins_url( 'subscriptions.css', __FILE__ ),
113 + $path,
101 114 array(),
102 115 JETPACK__VERSION
103 116 );
104 - wp_enqueue_style( 'jetpack-subscriptions' );
117 +
118 + // `wp_maybe_inline_styles()` requires a filesystem path, not a URL.
119 + $style_path = JETPACK__PLUGIN_DIR . (
120 + /** This filter is documented in projects/plugins/jetpack/load-jetpack.php */
121 + apply_filters( 'jetpack_should_use_minified_assets', true )
122 + ? '_inc/build/subscriptions/subscriptions.min.css'
123 + : 'modules/subscriptions/subscriptions.css'
124 + );
125 + wp_style_add_data( 'jetpack-subscriptions', 'path', $style_path );
105 126 }
106 127
107 128 /**
108 129 * Renders a full widget either within the context of WordPress widget, or in response to a shortcode.
@@ -110,10 +131,17 @@
110 131 * @param array $args Display arguments including 'before_title', 'after_title', 'before_widget', and 'after_widget'.
111 132 * @param array $instance The settings for the particular instance of the widget.
112 133 */
113 134 public function widget( $args, $instance ) {
135 + if ( self::is_wpcom() && ! self::wpcom_has_status_message() && self::is_current_user_subscribed() ) {
136 + return null;
137 + }
138 +
139 + // Enqueue styles.
140 + self::enqueue_style();
141 +
114 142 if ( self::is_jetpack() &&
115 - /** This filter is documented in modules/contact-form/grunion-contact-form.php */
143 + /** This filter is documented in \Automattic\Jetpack\Forms\ContactForm\Contact_Form */
116 144 false === apply_filters( 'jetpack_auto_fill_logged_in_user', false )
117 145 ) {
118 146 $subscribe_email = '';
119 147 } else {
@@ -128,10 +156,10 @@
128 156 $stats_action = self::is_jetpack() ? 'jetpack_subscriptions' : 'follow_blog';
129 157 /** This action is documented in modules/widgets/gravatar-profile.php */
130 158 do_action( 'jetpack_stats_extra', 'widget_view', $stats_action );
131 159
132 - $after_widget = isset( $args['after_widget'] ) ? $args['after_widget'] : '';
133 - $before_widget = isset( $args['before_widget'] ) ? $args['before_widget'] : '';
160 + $after_widget = $args['after_widget'] ?? '';
161 + $before_widget = $args['before_widget'] ?? '';
134 162 $instance = wp_parse_args( (array) $instance, static::defaults() );
135 163
136 164 echo $before_widget; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
137 165
@@ -153,22 +181,42 @@
153 181 * @param array $instance The settings for the particular instance of the widget.
154 182 */
155 183 public static function render_widget_title( $args, $instance ) {
156 184 $show_only_email_and_button = $instance['show_only_email_and_button'];
157 - $before_title = isset( $args['before_title'] ) ? $args['before_title'] : '';
158 - $after_title = isset( $args['after_title'] ) ? $args['after_title'] : '';
185 + $before_title = $args['before_title'] ?? '';
186 + $after_title = $args['after_title'] ?? '';
159 187 if ( self::is_wpcom() && ! $show_only_email_and_button ) {
160 188 if ( self::is_current_user_subscribed() ) {
161 189 if ( ! empty( $instance['title_following'] ) ) {
162 - echo $before_title . '<label for="subscribe-field' . ( self::$instance_count > 1 ? '-' . self::$instance_count : '' ) . '">' . esc_attr( $instance['title_following'] ) . '</label>' . $after_title . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
190 + printf(
191 + '%1$s<label for="subscribe-field%2$s">%3$s</label>%4$s%5$s',
192 + $before_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
193 + ( self::$instance_count > 1 ? '-' . (int) self::$instance_count : '' ),
194 + esc_html( $instance['title_following'] ),
195 + $after_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
196 + "\n"
197 + );
163 198 }
164 199 } elseif ( ! empty( $instance['title'] ) ) {
165 - echo $before_title . '<label for="subscribe-field' . ( self::$instance_count > 1 ? '-' . self::$instance_count : '' ) . '">' . $instance['title'] . '</label>' . $after_title . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
200 + printf(
201 + '%1$s<label for="subscribe-field%2$s">%3$s</label>%4$s%5$s',
202 + $before_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
203 + ( self::$instance_count > 1 ? '-' . (int) self::$instance_count : '' ),
204 + esc_html( $instance['title'] ),
205 + $after_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
206 + "\n"
207 + );
166 208 }
167 209 }
168 210
169 211 if ( self::is_jetpack() && empty( $instance['show_only_email_and_button'] ) ) {
170 - echo $args['before_title'] . $instance['title'] . $args['after_title'] . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
212 + printf(
213 + '%1$s%2$s%3$s%4$s',
214 + $before_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
215 + esc_html( $instance['title'] ),
216 + $after_title, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
217 + "\n"
218 + );
171 219 }
172 220 }
173 221
174 222 /**
@@ -334,9 +382,9 @@
334 382 $show_only_email_and_button = $instance['show_only_email_and_button'];
335 383 $show_subscribers_total = (bool) $instance['show_subscribers_total'];
336 384 $subscribers_total = self::fetch_subscriber_count();
337 385 $subscribe_text = empty( $instance['show_only_email_and_button'] ) ?
338 - stripslashes( $instance['subscribe_text'] ) :
386 + wp_kses_post( stripslashes( $instance['subscribe_text'] ) ) :
339 387 false;
340 388 $referer = esc_url_raw( ( is_ssl() ? 'https' : 'http' ) . '://' . ( isset( $_SERVER['HTTP_HOST'] ) ? wp_unslash( $_SERVER['HTTP_HOST'] ) : '' ) . ( isset( $_SERVER['REQUEST_URI'] ) ? wp_unslash( $_SERVER['REQUEST_URI'] ) : '' ) );
341 389 $source = 'widget';
342 390 $widget_id = ! empty( $args['widget_id'] ) ? $args['widget_id'] : self::$instance_count;
@@ -342,12 +390,12 @@
342 390 $widget_id = ! empty( $args['widget_id'] ) ? $args['widget_id'] : self::$instance_count;
343 391 $subscribe_button = ! empty( $instance['submit_button_text'] ) ? $instance['submit_button_text'] : $instance['subscribe_button'];
344 392 $subscribe_placeholder = isset( $instance['subscribe_placeholder'] ) ? stripslashes( $instance['subscribe_placeholder'] ) : '';
345 393 $submit_button_classes = isset( $instance['submit_button_classes'] ) ? 'wp-block-button__link ' . $instance['submit_button_classes'] : 'wp-block-button__link';
346 - $submit_button_styles = isset( $instance['submit_button_styles'] ) ? $instance['submit_button_styles'] : '';
347 - $submit_button_wrapper_styles = isset( $instance['submit_button_wrapper_styles'] ) ? $instance['submit_button_wrapper_styles'] : '';
348 - $email_field_classes = isset( $instance['email_field_classes'] ) ? $instance['email_field_classes'] : '';
349 - $email_field_styles = isset( $instance['email_field_styles'] ) ? $instance['email_field_styles'] : '';
394 + $submit_button_styles = $instance['submit_button_styles'] ?? '';
395 + $submit_button_wrapper_styles = $instance['submit_button_wrapper_styles'] ?? '';
396 + $email_field_classes = $instance['email_field_classes'] ?? '';
397 + $email_field_styles = $instance['email_field_styles'] ?? '';
350 398
351 399 // We need to include those in case Jetpack blocks are disabled
352 400 require_once JETPACK__PLUGIN_DIR . 'modules/memberships/class-jetpack-memberships.php';
353 401 require_once JETPACK__PLUGIN_DIR . 'extensions/blocks/premium-content/_inc/subscription-service/include.php';
@@ -393,8 +441,9 @@
393 441 printf(
394 442 '<input
395 443 type="email"
396 444 name="email"
445 + autocomplete="email"
397 446 %1$s
398 447 style="%2$s"
399 448 placeholder="%3$s"
400 449 value=""
@@ -487,9 +536,9 @@
487 536 class="screen-reader-text"
488 537 for="<?php echo esc_attr( $subscribe_field_id . '-' . $widget_id ); ?>">
489 538 <?php echo ! empty( $subscribe_placeholder ) ? esc_html( $subscribe_placeholder ) : esc_html__( 'Email Address:', 'jetpack' ); ?>
490 539 </label>
491 - <input type="email" name="email" required="required"
540 + <input type="email" name="email" autocomplete="email" required="required"
492 541 <?php if ( ! empty( $email_field_classes ) ) { ?>
493 542 class="<?php echo esc_attr( $email_field_classes ); ?> required"
494 543 <?php } ?>
495 544 <?php if ( ! empty( $email_field_styles ) ) { ?>
@@ -509,13 +558,9 @@
509 558 <input type="hidden" name="action" value="subscribe"/>
510 559 <input type="hidden" name="source" value="<?php echo esc_url( $referer ); ?>"/>
511 560 <input type="hidden" name="sub-type" value="<?php echo esc_attr( $source ); ?>"/>
512 561 <input type="hidden" name="redirect_fragment" value="<?php echo esc_attr( $form_id ); ?>"/>
513 - <?php
514 - if ( is_user_logged_in() ) {
515 - wp_nonce_field( 'blogsub_subscribe_' . get_current_blog_id(), '_wpnonce', false );
516 - }
517 - ?>
562 + <?php wp_nonce_field( 'blogsub_subscribe_' . \Jetpack_Options::get_option( 'id' ) ); ?>
518 563 <button type="submit"
519 564 <?php if ( ! empty( $submit_button_classes ) ) { ?>
520 565 class="<?php echo esc_attr( $submit_button_classes ); ?>"
521 566 <?php } ?>
@@ -620,9 +665,9 @@
620 665 $subs_count = array(
621 666 'status' => 'failed',
622 667 'code' => $xml->getErrorCode(),
623 668 'message' => $xml->getErrorMessage(),
624 - 'value' => ( isset( $subs_count['value'] ) ) ? $subs_count['value'] : 0,
669 + 'value' => $subs_count['value'] ?? 0,
625 670 );
626 671 } else {
627 672 $subs_count = array(
628 673 'status' => 'success',
@@ -648,27 +693,28 @@
648 693 *
649 694 * @return array
650 695 */
651 696 public function update( $new_instance, $old_instance ) {
652 - $instance = $old_instance;
697 + // Merge new values over old, then fill in any missing keys with defaults
698 + $instance = wp_parse_args( (array) $new_instance, wp_parse_args( (array) $old_instance, static::defaults() ) );
653 699
654 700 if ( self::is_jetpack() ) {
655 - $instance['title'] = wp_kses( stripslashes( $new_instance['title'] ), array() );
656 - $instance['subscribe_placeholder'] = wp_kses( stripslashes( $new_instance['subscribe_placeholder'] ), array() );
657 - $instance['subscribe_button'] = wp_kses( stripslashes( $new_instance['subscribe_button'] ), array() );
658 - $instance['success_message'] = wp_kses( stripslashes( $new_instance['success_message'] ), array() );
701 + $instance['title'] = wp_kses( stripslashes( $instance['title'] ), array() );
702 + $instance['subscribe_placeholder'] = wp_kses( stripslashes( $instance['subscribe_placeholder'] ), array() );
703 + $instance['subscribe_button'] = wp_kses( stripslashes( $instance['subscribe_button'] ), array() );
704 + $instance['success_message'] = wp_kses( stripslashes( $instance['success_message'] ), array() );
659 705 }
660 706
661 707 if ( self::is_wpcom() ) {
662 - $instance['title'] = wp_strip_all_tags( stripslashes( $new_instance['title'] ) );
663 - $instance['title_following'] = wp_strip_all_tags( stripslashes( $new_instance['title_following'] ) );
664 - $instance['subscribe_logged_in'] = wp_filter_post_kses( stripslashes( $new_instance['subscribe_logged_in'] ) );
665 - $instance['subscribe_button'] = wp_strip_all_tags( stripslashes( $new_instance['subscribe_button'] ) );
708 + $instance['title'] = wp_strip_all_tags( stripslashes( $instance['title'] ) );
709 + $instance['title_following'] = isset( $instance['title_following'] ) ? wp_strip_all_tags( stripslashes( $instance['title_following'] ) ) : '';
710 + $instance['subscribe_logged_in'] = isset( $instance['subscribe_logged_in'] ) ? wp_filter_post_kses( stripslashes( $instance['subscribe_logged_in'] ) ) : '';
711 + $instance['subscribe_button'] = wp_strip_all_tags( stripslashes( $instance['subscribe_button'] ) );
666 712 }
667 713
668 714 $instance['show_subscribers_total'] = isset( $new_instance['show_subscribers_total'] ) && $new_instance['show_subscribers_total'];
669 715 $instance['show_only_email_and_button'] = isset( $new_instance['show_only_email_and_button'] ) && $new_instance['show_only_email_and_button'];
670 - $instance['subscribe_text'] = wp_filter_post_kses( stripslashes( $new_instance['subscribe_text'] ) );
716 + $instance['subscribe_text'] = wp_filter_post_kses( stripslashes( $instance['subscribe_text'] ) );
671 717
672 718 return $instance;
673 719 }
674 720
@@ -687,9 +733,9 @@
687 733 $defaults['title'] = esc_html__( 'Subscribe to Blog via Email', 'jetpack' );
688 734 $defaults['subscribe_text'] = esc_html__( 'Enter your email address to subscribe to this blog and receive notifications of new posts by email.', 'jetpack' );
689 735 $defaults['subscribe_placeholder'] = esc_html__( 'Email Address', 'jetpack' );
690 736 $defaults['subscribe_button'] = esc_html__( 'Subscribe', 'jetpack' );
691 - $defaults['success_message'] = esc_html__( "Success! An email was just sent to confirm your subscription. Please find the email now and click 'Confirm Follow' to start subscribing.", 'jetpack' );
737 + $defaults['success_message'] = esc_html__( "Success! An email was just sent to confirm your subscription. Please find the email now and click 'Confirm' to start subscribing.", 'jetpack' );
692 738
693 739 return $defaults;
694 740 }
695 741
@@ -696,8 +742,9 @@
696 742 /**
697 743 * Renders the widget's options form in wp-admin.
698 744 *
699 745 * @param array $instance Widget instance.
746 + * @return string|void
700 747 */
701 748 public function form( $instance ) {
702 749 $instance = wp_parse_args( (array) $instance, static::defaults() );
703 750 $show_subscribers_total = checked( $instance['show_subscribers_total'], true, false );
@@ -702,26 +749,14 @@
702 749 $instance = wp_parse_args( (array) $instance, static::defaults() );
703 750 $show_subscribers_total = checked( $instance['show_subscribers_total'], true, false );
704 751
705 752 if ( self::is_wpcom() ) {
706 - $title = esc_attr( stripslashes( $instance['title'] ) );
707 - $title_following = esc_attr( stripslashes( $instance['title_following'] ) );
708 - $subscribe_text = esc_attr( stripslashes( $instance['subscribe_text'] ) );
709 - $subscribe_logged_in = esc_attr( stripslashes( $instance['subscribe_logged_in'] ) );
710 - $subscribe_button = esc_attr( stripslashes( $instance['subscribe_button'] ) );
753 + $title = ! empty( $instance['title'] ) ? esc_attr( stripslashes( $instance['title'] ) ) : '';
754 + $title_following = ! empty( $instance['title_following'] ) ? esc_attr( stripslashes( $instance['title_following'] ) ) : '';
755 + $subscribe_text = ! empty( $instance['subscribe_text'] ) ? esc_attr( stripslashes( $instance['subscribe_text'] ) ) : '';
756 + $subscribe_logged_in = ! empty( $instance['subscribe_logged_in'] ) ? esc_attr( stripslashes( $instance['subscribe_logged_in'] ) ) : '';
757 + $subscribe_button = ! empty( $instance['subscribe_button'] ) ? esc_attr( stripslashes( $instance['subscribe_button'] ) ) : '';
711 758 $subscribers_total = self::fetch_subscriber_count();
712 - }
713 -
714 - if ( self::is_jetpack() ) {
715 - $title = stripslashes( $instance['title'] );
716 - $subscribe_text = stripslashes( $instance['subscribe_text'] );
717 - $subscribe_placeholder = stripslashes( $instance['subscribe_placeholder'] );
718 - $subscribe_button = stripslashes( $instance['subscribe_button'] );
719 - $success_message = stripslashes( $instance['success_message'] );
720 - $subscribers_total = self::fetch_subscriber_count();
721 - }
722 -
723 - if ( self::is_wpcom() ) :
724 759 ?>
725 760 <p>
726 761 <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>">
727 762 <?php esc_html_e( 'Widget title for non-followers:', 'jetpack' ); ?>
@@ -773,11 +808,17 @@
773 808 ?>
774 809 </label>
775 810 </p>
776 811 <?php
777 - endif;
812 + }
778 813
779 - if ( self::is_jetpack() ) :
814 + if ( self::is_jetpack() ) {
815 + $title = ! empty( $instance['title'] ) ? stripslashes( $instance['title'] ) : '';
816 + $subscribe_text = ! empty( $instance['subscribe_text'] ) ? stripslashes( $instance['subscribe_text'] ) : '';
817 + $subscribe_placeholder = ! empty( $instance['subscribe_placeholder'] ) ? stripslashes( $instance['subscribe_placeholder'] ) : '';
818 + $subscribe_button = ! empty( $instance['subscribe_button'] ) ? stripslashes( $instance['subscribe_button'] ) : '';
819 + $success_message = ! empty( $instance['success_message'] ) ? stripslashes( $instance['success_message'] ) : '';
820 + $subscribers_total = self::fetch_subscriber_count();
780 821 ?>
781 822 <p>
782 823 <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>">
783 824 <?php esc_html_e( 'Widget title:', 'jetpack' ); ?>
@@ -829,13 +870,13 @@
829 870 ?>
830 871 </label>
831 872 </p>
832 873 <?php
833 - endif;
874 + }
834 875 }
835 876 }
836 877
837 -if ( defined( 'IS_WPCOM' ) && IS_WPCOM && function_exists( 'class_alias' ) ) {
878 +if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
838 879 class_alias( 'Jetpack_Subscriptions_Widget', 'Blog_Subscription_Widget' );
839 880 }
840 881
841 882 /**
@@ -871,14 +912,14 @@
871 912 } else {
872 913 $instance['include_social_followers'] = false;
873 914 }
874 915
875 - $show_only_email_and_button = isset( $instance['show_only_email_and_button'] ) ? $instance['show_only_email_and_button'] : false;
876 - $submit_button_text = isset( $instance['submit_button_text'] ) ? $instance['submit_button_text'] : '';
916 + $show_only_email_and_button = $instance['show_only_email_and_button'] ?? false;
917 + $submit_button_text = $instance['submit_button_text'] ?? '';
877 918
878 919 // Build up a string with the submit button's classes and styles and set it on the instance.
879 - $submit_button_classes = isset( $instance['submit_button_classes'] ) ? $instance['submit_button_classes'] : '';
880 - $email_field_classes = isset( $instance['email_field_classes'] ) ? $instance['email_field_classes'] : '';
920 + $submit_button_classes = $instance['submit_button_classes'] ?? '';
921 + $email_field_classes = $instance['email_field_classes'] ?? '';
881 922 $style = '';
882 923 $submit_button_styles = '';
883 924 $submit_button_wrapper_styles = '';
884 925 $email_field_styles = '';
@@ -914,11 +955,11 @@
914 955 }
915 956 if ( isset( $instance['custom_padding'] ) && 'undefined' !== $instance['custom_padding'] ) {
916 957 $style = 'padding: ' .
917 958 $instance['custom_padding'] . 'px ' .
918 - round( $instance['custom_padding'] * 1.5 ) . 'px ' .
959 + round( floatval( $instance['custom_padding'] ) * 1.5 ) . 'px ' .
919 960 $instance['custom_padding'] . 'px ' .
920 - round( $instance['custom_padding'] * 1.5 ) . 'px; ';
961 + round( floatval( $instance['custom_padding'] ) * 1.5 ) . 'px; ';
921 962
922 963 $submit_button_styles .= $style;
923 964 $email_field_styles .= $style;
924 965 }
@@ -929,9 +970,9 @@
929 970 }
930 971 if ( isset( $instance['button_on_newline'] ) && 'true' === $instance['button_on_newline'] ) {
931 972 $submit_button_styles .= 'margin-top: ' . $button_spacing . 'px; ';
932 973 } else {
933 - $submit_button_styles .= 'margin: 0px; '; // Reset Safari's 2px default margin for buttons affecting input and button union
974 + $submit_button_styles .= 'margin: 0; '; // Reset Safari's 2px default margin for buttons affecting input and button union
934 975 $submit_button_styles .= 'margin-left: ' . $button_spacing . 'px; ';
935 976 }
936 977
937 978 if ( isset( $instance['custom_border_radius'] ) && 'undefined' !== $instance['custom_border_radius'] ) {
@@ -1030,8 +1071,10 @@
1030 1071 return array(
1031 1072 /* translators: Both %1$s and %2$s is site address */
1032 1073 'invitation' => sprintf( __( "Howdy,\nYou recently subscribed to <a href='%1\$s'>%2\$s</a> and we need to verify the email you provided. Once you confirm below, you'll be able to receive and read new posts.\n\nIf you believe this is an error, ignore this message and nothing more will happen.", 'jetpack' ), $site_url, $display_url ),
1033 1074 'comment_follow' => __( "Howdy.\n\nYou recently followed one of my posts. This means you will receive an email when new comments are posted.\n\nTo activate, click confirm below. If you believe this is an error, ignore this message and we'll never bother you again.", 'jetpack' ),
1075 + /* translators: %1$s is the site address */
1076 + 'welcome' => sprintf( __( 'Cool, you are now subscribed to %1$s and will receive an email notification when a new post is published.', 'jetpack' ), $display_url ),
1034 1077 );
1035 1078 }
1036 1079
1037 1080 add_filter( 'default_option_subscription_options', 'subscription_options_fallback', 10, 3 );