PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.3-beta
16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 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 All 507 releases
← All changes | _inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-mailchimp.php +34 -0 16.3-a.5 → 16.3-beta View file →
@@ -69,8 +69,22 @@
69 69 'permission_callback' => function () {
70 70 return current_user_can( 'manage_options' );
71 71 },
72 72 ),
73 + array(
74 + 'methods' => WP_REST_Server::EDITABLE,
75 + 'callback' => array( $this, 'update_mailchimp_settings' ),
76 + 'permission_callback' => function () {
77 + return current_user_can( 'manage_options' );
78 + },
79 + 'args' => array(
80 + 'follower_list_id' => array(
81 + 'type' => 'string',
82 + 'required' => true,
83 + 'sanitize_callback' => 'sanitize_text_field',
84 + ),
85 + ),
86 + ),
73 87 )
74 88 );
75 89 }
76 90
@@ -186,8 +200,28 @@
186 200 }
187 201 }
188 202
189 203 return $settings;
204 + }
205 +
206 + /**
207 + * Save the Mailchimp audience that block subscribers join.
208 + *
209 + * @since 16.3
210 + *
211 + * @param WP_REST_Request $request The request.
212 + * @return array|WP_Error
213 + */
214 + public function update_mailchimp_settings( $request ) {
215 + require_once JETPACK__PLUGIN_DIR . '_inc/lib/class-jetpack-mailchimp-helper.php';
216 +
217 + $audience = $request['follower_list_id'];
218 + $result = Jetpack_Mailchimp_Helper::save_audience( $audience );
219 + if ( is_wp_error( $result ) ) {
220 + return new WP_Error( $result->get_error_code(), $result->get_error_message(), array( 'status' => 400 ) );
221 + }
222 +
223 + return array( 'follower_list_id' => $audience );
190 224 }
191 225 }
192 226
193 227 wpcom_rest_api_v2_load_plugin( 'WPCOM_REST_API_V2_Endpoint_Mailchimp' );