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.js
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.js
149 lines
1 /* global blogDisplay, postDetails */
2
3 /**
4 * customizer.js
5 *
6 * Theme Customizer enhancements for a better user experience.
7 *
8 * Contains handlers to make Theme Customizer preview reload changes asynchronously.
9 */
10
11 /**
12 * Function to apply styles to elements based on the display type
13 * @param {object} selectors - HTML selectors which styles will apply to.
14 * @param {object} styles - Styles to be applied to selectors.
15 */
16 function applyStyles( selectors, styles ) {
17 document.querySelectorAll( selectors ).forEach( el => {
18 for ( const [ key, value ] of Object.entries( styles ) ) {
19 el.style[ key ] = value;
20 }
21 } );
22 }
23
24 // Blog Display
25 wp.customize( 'jetpack_content_blog_display', function ( value ) {
26 /**
27 * Updates the blog display based on the selected option.
28 * @param {string} to - Content display option.
29 */
30 function updateBlogDisplay( to ) {
31 const contentSelectors = '.jetpack-blog-display.jetpack-the-content';
32 const excerptSelectors = '.jetpack-blog-display.jetpack-the-excerpt';
33 const featuredContentSelectors = '.featured-content .jetpack-blog-display';
34
35 if ( to === 'content' ) {
36 applyStyles( `${ excerptSelectors }, ${ featuredContentSelectors }.jetpack-the-excerpt`, {
37 clip: 'rect(1px, 1px, 1px, 1px)',
38 position: 'absolute',
39 } );
40 applyStyles( `${ contentSelectors }, ${ featuredContentSelectors }.jetpack-the-content`, {
41 clip: 'auto',
42 position: 'relative',
43 } );
44 } else if ( to === 'excerpt' ) {
45 applyStyles( `${ contentSelectors }, ${ featuredContentSelectors }.jetpack-the-content`, {
46 clip: 'rect(1px, 1px, 1px, 1px)',
47 position: 'absolute',
48 } );
49 applyStyles( `${ excerptSelectors }, ${ featuredContentSelectors }.jetpack-the-excerpt`, {
50 clip: 'auto',
51 position: 'relative',
52 } );
53 } else if ( to === 'mixed' ) {
54 applyStyles(
55 `${ contentSelectors }.output-the-content, ${ featuredContentSelectors }.jetpack-the-content.output-the-content`,
56 {
57 clip: 'auto',
58 position: 'relative',
59 }
60 );
61 applyStyles(
62 `${ excerptSelectors }.output-the-content, ${ contentSelectors }.output-the-excerpt, ${ featuredContentSelectors }.jetpack-the-excerpt.output-the-content, ${ featuredContentSelectors }.jetpack-the-content.output-the-excerpt`,
63 {
64 clip: 'rect(1px, 1px, 1px, 1px)',
65 position: 'absolute',
66 }
67 );
68 applyStyles(
69 `${ excerptSelectors }.output-the-excerpt, ${ featuredContentSelectors }.jetpack-the-excerpt.output-the-excerpt`,
70 {
71 clip: 'auto',
72 position: 'relative',
73 }
74 );
75 }
76
77 if ( blogDisplay.masonry ) {
78 const masonryElement = document.querySelector( blogDisplay.masonry );
79 if ( masonryElement ) {
80 masonryElement.masonry();
81 }
82 }
83 }
84
85 updateBlogDisplay( blogDisplay.display );
86 value.bind( updateBlogDisplay );
87 } );
88
89 /**
90 * Function to update post details visibility
91 * @param {object} selectors - HTML selectors which styles will apply to.
92 * @param {string} to - Content display option.
93 * @param {string} hiddenClass - Class to be added to the body when the post details are hidden.
94 */
95 function updatePostDetails( selectors, to, hiddenClass ) {
96 document.querySelectorAll( selectors ).forEach( element => {
97 if ( to === false ) {
98 element.style.clip = 'rect(1px, 1px, 1px, 1px)';
99 element.style.height = '1px';
100 element.style.overflow = 'hidden';
101 element.style.position = 'absolute';
102 element.style.width = '1px';
103 document.body.classList.add( hiddenClass );
104 } else {
105 element.style.clip = 'auto';
106 element.style.height = 'auto';
107 element.style.overflow = 'auto';
108 element.style.position = 'relative';
109 element.style.width = 'auto';
110 document.body.classList.remove( hiddenClass );
111 }
112 } );
113 }
114
115 // Post Details: Date
116 wp.customize( 'jetpack_content_post_details_date', function ( value ) {
117 value.bind( function ( to ) {
118 updatePostDetails( postDetails.date, to, 'date-hidden' );
119 } );
120 } );
121
122 // Post Details: Categories
123 wp.customize( 'jetpack_content_post_details_categories', function ( value ) {
124 value.bind( function ( to ) {
125 updatePostDetails( postDetails.categories, to, 'categories-hidden' );
126 } );
127 } );
128
129 // Post Details: Tags
130 wp.customize( 'jetpack_content_post_details_tags', function ( value ) {
131 value.bind( function ( to ) {
132 updatePostDetails( postDetails.tags, to, 'tags-hidden' );
133 } );
134 } );
135
136 // Post Details: Author
137 wp.customize( 'jetpack_content_post_details_author', function ( value ) {
138 value.bind( function ( to ) {
139 updatePostDetails( postDetails.author, to, 'author-hidden' );
140 } );
141 } );
142
143 // Post Details: Comment link
144 wp.customize( 'jetpack_content_post_details_comment', function ( value ) {
145 value.bind( function ( to ) {
146 updatePostDetails( postDetails.comment, to, 'comment-hidden' );
147 } );
148 } );
149