PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / theme-tools / content-options / customizer.php
jetpack / modules / theme-tools / content-options Last commit date
author-bio.php 7 months ago blog-display.php 1 month ago customizer.js 1 year ago customizer.php 7 months ago featured-images-fallback.php 2 weeks ago featured-images.php 1 month ago post-details.php 7 months ago
customizer.php
540 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Theme Tools: functions for Customizer enhancements.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit( 0 );
10 }
11
12 if ( ! function_exists( 'jetpack_content_options_customize_register' ) ) {
13
14 /**
15 * Add Content section to the Theme Customizer.
16 *
17 * @deprecated 13.9 Moved to Classic Theme Helper package.
18 *
19 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
20 */
21 function jetpack_content_options_customize_register( $wp_customize ) {
22 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
23 $options = get_theme_support( 'jetpack-content-options' );
24 $blog_display = ( ! empty( $options[0]['blog-display'] ) ) ? $options[0]['blog-display'] : null;
25 $blog_display = preg_grep( '/^(content|excerpt)$/', (array) $blog_display );
26 sort( $blog_display );
27 $blog_display = implode( ', ', $blog_display );
28 $blog_display = ( 'content, excerpt' === $blog_display ) ? 'mixed' : $blog_display;
29 $author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null;
30 $author_bio_default = ( isset( $options[0]['author-bio-default'] ) && false === $options[0]['author-bio-default'] ) ? '' : 1;
31 $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null;
32 $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null;
33 $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null;
34 $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null;
35 $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null;
36 $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null;
37 $featured_images = ( ! empty( $options[0]['featured-images'] ) ) ? $options[0]['featured-images'] : null;
38 $fi_archive = ( ! empty( $featured_images['archive'] ) ) ? $featured_images['archive'] : null;
39 $fi_post = ( ! empty( $featured_images['post'] ) ) ? $featured_images['post'] : null;
40 $fi_page = ( ! empty( $featured_images['page'] ) ) ? $featured_images['page'] : null;
41 $fi_portfolio = ( ! empty( $featured_images['portfolio'] ) ) ? $featured_images['portfolio'] : null;
42 $fi_fallback = ( ! empty( $featured_images['fallback'] ) ) ? $featured_images['fallback'] : null;
43 $fi_archive_default = ( isset( $featured_images['archive-default'] ) && false === $featured_images['archive-default'] ) ? '' : 1;
44 $fi_post_default = ( isset( $featured_images['post-default'] ) && false === $featured_images['post-default'] ) ? '' : 1;
45 $fi_page_default = ( isset( $featured_images['page-default'] ) && false === $featured_images['page-default'] ) ? '' : 1;
46 $fi_portfolio_default = ( isset( $featured_images['portfolio-default'] ) && false === $featured_images['portfolio-default'] ) ? '' : 1;
47 $fi_fallback_default = ( isset( $featured_images['fallback-default'] ) && false === $featured_images['fallback-default'] ) ? '' : 1;
48
49 // If the theme doesn't support 'jetpack-content-options[ 'blog-display' ]', 'jetpack-content-options[ 'author-bio' ]', 'jetpack-content-options[ 'post-details' ]' and 'jetpack-content-options[ 'featured-images' ]', don't continue.
50 if ( ( ! in_array( $blog_display, array( 'content', 'excerpt', 'mixed' ), true ) )
51 && ( true !== $author_bio )
52 && ( ( empty( $post_details['stylesheet'] ) )
53 && ( empty( $date )
54 || empty( $categories )
55 || empty( $tags )
56 || empty( $author )
57 || empty( $comment ) ) )
58 && ( true !== $fi_archive && true !== $fi_post && true !== $fi_page && true !== $fi_portfolio && true !== $fi_fallback ) ) {
59 return;
60 }
61
62 if ( ! class_exists( 'Jetpack_Customize_Control_Title' ) ) {
63
64 /**
65 * New Customizer control type: Title.
66 */
67 class Jetpack_Customize_Control_Title extends WP_Customize_Control {
68 /**
69 * Customizer control type.
70 *
71 * @var string
72 */
73 public $type = 'title';
74
75 /**
76 * Render the control's content.
77 */
78 public function render_content() {
79 ?>
80 <span class="customize-control-title"><?php echo wp_kses_post( $this->label ); ?></span>
81 <?php
82 }
83 }
84
85 }
86
87 // Add Content section.
88 $wp_customize->add_section(
89 'jetpack_content_options',
90 array(
91 'title' => esc_html__( 'Content Options', 'jetpack' ),
92 'theme_supports' => 'jetpack-content-options',
93 'priority' => 100,
94 )
95 );
96
97 // Add Blog Display option.
98 if ( in_array( $blog_display, array( 'content', 'excerpt', 'mixed' ), true ) ) {
99 if ( 'mixed' === $blog_display ) {
100 $blog_display_choices = array(
101 'content' => esc_html__( 'Full post', 'jetpack' ),
102 'excerpt' => esc_html__( 'Post excerpt', 'jetpack' ),
103 'mixed' => esc_html__( 'Default', 'jetpack' ),
104 );
105
106 $blog_display_description = esc_html__( 'Choose between a full post or an excerpt for the blog and archive pages, or opt for the theme\'s default combination of excerpt and full post.', 'jetpack' );
107 } else {
108 $blog_display_choices = array(
109 'content' => esc_html__( 'Full post', 'jetpack' ),
110 'excerpt' => esc_html__( 'Post excerpt', 'jetpack' ),
111 );
112
113 $blog_display_description = esc_html__( 'Choose between a full post or an excerpt for the blog and archive pages.', 'jetpack' );
114
115 if ( 'mixed' === get_option( 'jetpack_content_blog_display' ) ) {
116 update_option( 'jetpack_content_blog_display', $blog_display );
117 }
118 }
119
120 $wp_customize->add_setting(
121 'jetpack_content_blog_display',
122 array(
123 'default' => $blog_display,
124 'type' => 'option',
125 'transport' => 'postMessage',
126 'sanitize_callback' => 'jetpack_content_options_sanitize_blog_display',
127 )
128 );
129
130 $wp_customize->add_control(
131 'jetpack_content_blog_display',
132 array(
133 'section' => 'jetpack_content_options',
134 'label' => esc_html__( 'Blog Display', 'jetpack' ),
135 'description' => $blog_display_description,
136 'type' => 'radio',
137 'choices' => $blog_display_choices,
138 )
139 );
140 }
141
142 // Add Author Bio option.
143 if ( true === $author_bio ) {
144 $wp_customize->add_setting( 'jetpack_content_author_bio_title' );
145
146 $wp_customize->add_control(
147 new Jetpack_Customize_Control_Title(
148 $wp_customize,
149 'jetpack_content_author_bio_title',
150 array(
151 'section' => 'jetpack_content_options',
152 'label' => esc_html__( 'Author Bio', 'jetpack' ),
153 'type' => 'title',
154 )
155 )
156 );
157
158 $wp_customize->add_setting(
159 'jetpack_content_author_bio',
160 array(
161 'default' => $author_bio_default,
162 'type' => 'option',
163 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
164 )
165 );
166
167 $wp_customize->add_control(
168 'jetpack_content_author_bio',
169 array(
170 'section' => 'jetpack_content_options',
171 'label' => esc_html__( 'Display on single posts', 'jetpack' ),
172 'type' => 'checkbox',
173 )
174 );
175 }
176
177 // Add Post Details options.
178 if ( ( ! empty( $post_details ) )
179 && ( ! empty( $post_details['stylesheet'] ) )
180 && ( ! empty( $date )
181 || ! empty( $categories )
182 || ! empty( $tags )
183 || ! empty( $author )
184 || ! empty( $comment ) ) ) {
185 $wp_customize->add_setting( 'jetpack_content_post_details_title' );
186
187 $wp_customize->add_control(
188 new Jetpack_Customize_Control_Title(
189 $wp_customize,
190 'jetpack_content_post_details_title',
191 array(
192 'section' => 'jetpack_content_options',
193 'label' => esc_html__( 'Post Details', 'jetpack' ),
194 'type' => 'title',
195 )
196 )
197 );
198
199 // Post Details: Date.
200 if ( ! empty( $date ) ) {
201 $wp_customize->add_setting(
202 'jetpack_content_post_details_date',
203 array(
204 'default' => 1,
205 'type' => 'option',
206 'transport' => 'postMessage',
207 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
208 )
209 );
210
211 $wp_customize->add_control(
212 'jetpack_content_post_details_date',
213 array(
214 'section' => 'jetpack_content_options',
215 'label' => esc_html__( 'Display date', 'jetpack' ),
216 'type' => 'checkbox',
217 )
218 );
219 }
220
221 // Post Details: Categories.
222 if ( ! empty( $categories ) ) {
223 $wp_customize->add_setting(
224 'jetpack_content_post_details_categories',
225 array(
226 'default' => 1,
227 'type' => 'option',
228 'transport' => 'postMessage',
229 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
230 )
231 );
232
233 $wp_customize->add_control(
234 'jetpack_content_post_details_categories',
235 array(
236 'section' => 'jetpack_content_options',
237 'label' => esc_html__( 'Display categories', 'jetpack' ),
238 'type' => 'checkbox',
239 )
240 );
241 }
242
243 // Post Details: Tags.
244 if ( ! empty( $tags ) ) {
245 $wp_customize->add_setting(
246 'jetpack_content_post_details_tags',
247 array(
248 'default' => 1,
249 'type' => 'option',
250 'transport' => 'postMessage',
251 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
252 )
253 );
254
255 $wp_customize->add_control(
256 'jetpack_content_post_details_tags',
257 array(
258 'section' => 'jetpack_content_options',
259 'label' => esc_html__( 'Display tags', 'jetpack' ),
260 'type' => 'checkbox',
261 )
262 );
263 }
264
265 // Post Details: Author.
266 if ( ! empty( $author ) ) {
267 $wp_customize->add_setting(
268 'jetpack_content_post_details_author',
269 array(
270 'default' => 1,
271 'type' => 'option',
272 'transport' => 'postMessage',
273 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
274 )
275 );
276
277 $wp_customize->add_control(
278 'jetpack_content_post_details_author',
279 array(
280 'section' => 'jetpack_content_options',
281 'label' => esc_html__( 'Display author', 'jetpack' ),
282 'type' => 'checkbox',
283 )
284 );
285 }
286
287 // Post Details: Comment link.
288 if ( ! empty( $comment ) ) {
289 $wp_customize->add_setting(
290 'jetpack_content_post_details_comment',
291 array(
292 'default' => 1,
293 'type' => 'option',
294 'transport' => 'postMessage',
295 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
296 )
297 );
298
299 $wp_customize->add_control(
300 'jetpack_content_post_details_comment',
301 array(
302 'section' => 'jetpack_content_options',
303 'label' => esc_html__( 'Display comment link', 'jetpack' ),
304 'type' => 'checkbox',
305 )
306 );
307 }
308 }
309
310 // Add Featured Images options.
311 if ( true === $fi_archive || true === $fi_post || true === $fi_page || true === $fi_portfolio || true === $fi_fallback ) {
312 $wp_customize->add_setting( 'jetpack_content_featured_images_title' );
313
314 $wp_customize->add_control(
315 new Jetpack_Customize_Control_Title(
316 $wp_customize,
317 'jetpack_content_featured_images_title',
318 array(
319 'section' => 'jetpack_content_options',
320 'label' => esc_html__( 'Featured Images', 'jetpack' ) . sprintf( '<a href="https://en.support.wordpress.com/featured-images/" class="customize-help-toggle dashicons dashicons-editor-help" title="%1$s" rel="noopener noreferrer" target="_blank"><span class="screen-reader-text">%1$s</span></a>', esc_html__( 'Learn more about Featured Images', 'jetpack' ) ),
321 'type' => 'title',
322 'active_callback' => 'jetpack_post_thumbnail_supports',
323 )
324 )
325 );
326
327 // Featured Images: Archive.
328 if ( true === $fi_archive ) {
329 $wp_customize->add_setting(
330 'jetpack_content_featured_images_archive',
331 array(
332 'default' => $fi_archive_default,
333 'type' => 'option',
334 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
335 )
336 );
337
338 $wp_customize->add_control(
339 'jetpack_content_featured_images_archive',
340 array(
341 'section' => 'jetpack_content_options',
342 'label' => esc_html__( 'Display on blog and archives', 'jetpack' ),
343 'type' => 'checkbox',
344 'active_callback' => 'jetpack_post_thumbnail_supports',
345 )
346 );
347 }
348
349 // Featured Images: Post.
350 if ( true === $fi_post ) {
351 $wp_customize->add_setting(
352 'jetpack_content_featured_images_post',
353 array(
354 'default' => $fi_post_default,
355 'type' => 'option',
356 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
357 )
358 );
359
360 $wp_customize->add_control(
361 'jetpack_content_featured_images_post',
362 array(
363 'section' => 'jetpack_content_options',
364 'label' => esc_html__( 'Display on single posts', 'jetpack' ),
365 'type' => 'checkbox',
366 'active_callback' => 'jetpack_post_thumbnail_supports',
367 )
368 );
369 }
370
371 // Featured Images: Page.
372 if ( true === $fi_page ) {
373 $wp_customize->add_setting(
374 'jetpack_content_featured_images_page',
375 array(
376 'default' => $fi_page_default,
377 'type' => 'option',
378 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
379 )
380 );
381
382 $wp_customize->add_control(
383 'jetpack_content_featured_images_page',
384 array(
385 'section' => 'jetpack_content_options',
386 'label' => esc_html__( 'Display on pages', 'jetpack' ),
387 'type' => 'checkbox',
388 'active_callback' => 'jetpack_post_thumbnail_supports',
389 )
390 );
391 }
392
393 // Featured Images: Portfolio.
394 if ( true === $fi_portfolio && post_type_exists( 'jetpack-portfolio' ) ) {
395 $wp_customize->add_setting(
396 'jetpack_content_featured_images_portfolio',
397 array(
398 'default' => $fi_portfolio_default,
399 'type' => 'option',
400 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
401 )
402 );
403
404 $wp_customize->add_control(
405 'jetpack_content_featured_images_portfolio',
406 array(
407 'section' => 'jetpack_content_options',
408 'label' => esc_html__( 'Display on single projects', 'jetpack' ),
409 'type' => 'checkbox',
410 'active_callback' => 'jetpack_post_thumbnail_supports',
411 )
412 );
413 }
414
415 // Featured Images: Fallback.
416 if ( true === $fi_fallback ) {
417 $wp_customize->add_setting(
418 'jetpack_content_featured_images_fallback',
419 array(
420 'default' => $fi_fallback_default,
421 'type' => 'option',
422 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox',
423 )
424 );
425
426 $wp_customize->add_control(
427 'jetpack_content_featured_images_fallback',
428 array(
429 'section' => 'jetpack_content_options',
430 'label' => esc_html__( 'Automatically use first image in post', 'jetpack' ),
431 'type' => 'checkbox',
432 'active_callback' => 'jetpack_post_thumbnail_supports',
433 )
434 );
435 }
436 }
437 }
438 add_action( 'customize_register', 'jetpack_content_options_customize_register' );
439
440 }
441
442 if ( ! function_exists( 'jetpack_post_thumbnail_supports' ) ) {
443
444 /**
445 * Return whether the theme supports Post Thumbnails.
446 *
447 * @deprecated 13.9 Moved to Classic Theme Helper package.
448 */
449 function jetpack_post_thumbnail_supports() {
450 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
451 return ( current_theme_supports( 'post-thumbnails' ) );
452 }
453
454 }
455
456 if ( ! function_exists( 'jetpack_content_options_sanitize_checkbox' ) ) {
457
458 /**
459 * Sanitize the checkbox.
460 *
461 * @deprecated 13.9 Moved to Classic Theme Helper package.
462 * @param int $input The unsanitized value from the setting.
463 * @return boolean|string
464 */
465 function jetpack_content_options_sanitize_checkbox( $input ) {
466 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
467 return ( 1 === (int) $input ) ? 1 : '';
468 }
469
470 }
471
472 if ( ! function_exists( 'jetpack_content_options_sanitize_blog_display' ) ) {
473
474 /**
475 * Sanitize the Display value.
476 *
477 * @deprecated 13.9 Moved to Classic Theme Helper package.
478 * @param string $display The unsanitized value from the setting.
479 * @return string
480 */
481 function jetpack_content_options_sanitize_blog_display( $display ) {
482 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
483 if ( ! in_array( $display, array( 'content', 'excerpt', 'mixed' ), true ) ) {
484 $display = 'content';
485 }
486 return $display;
487 }
488
489 }
490
491 if ( ! function_exists( 'jetpack_content_options_customize_preview_js' ) ) {
492
493 /**
494 * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
495 *
496 * @deprecated 13.9 Moved to Classic Theme Helper package.
497 */
498 function jetpack_content_options_customize_preview_js() {
499 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
500 $options = get_theme_support( 'jetpack-content-options' );
501 $blog_display = ( ! empty( $options[0]['blog-display'] ) ) ? $options[0]['blog-display'] : null;
502 $blog_display = preg_grep( '/^(content|excerpt)$/', (array) $blog_display );
503 sort( $blog_display );
504 $blog_display = implode( ', ', $blog_display );
505 $blog_display = ( 'content, excerpt' === $blog_display ) ? 'mixed' : $blog_display;
506 $masonry = ( ! empty( $options[0]['masonry'] ) ) ? $options[0]['masonry'] : null;
507 $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null;
508 $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null;
509 $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null;
510 $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null;
511 $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null;
512 $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null;
513
514 wp_enqueue_script( 'jetpack-content-options-customizer', plugins_url( 'customizer.js', __FILE__ ), array( 'jquery', 'customize-preview' ), '1.0', true );
515
516 wp_localize_script(
517 'jetpack-content-options-customizer',
518 'blogDisplay',
519 array(
520 'display' => get_option( 'jetpack_content_blog_display', $blog_display ),
521 'masonry' => $masonry,
522 )
523 );
524
525 wp_localize_script(
526 'jetpack-content-options-customizer',
527 'postDetails',
528 array(
529 'date' => $date,
530 'categories' => $categories,
531 'tags' => $tags,
532 'author' => $author,
533 'comment' => $comment,
534 )
535 );
536 }
537 add_action( 'customize_preview_init', 'jetpack_content_options_customize_preview_js' );
538
539 }
540