PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.8.1
Jetpack – WP Security, Backup, Speed, & Growth v14.8.1
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 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 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 / compat / twentytwenty.php
jetpack / modules / theme-tools / compat Last commit date
twentyfifteen-rtl.css 7 years ago twentyfifteen.css 1 year ago twentyfifteen.php 1 year ago twentyfourteen-rtl.css 7 years ago twentyfourteen.css 1 year ago twentyfourteen.php 1 year ago twentynineteen-rtl.css 2 years ago twentynineteen.css 1 year ago twentynineteen.php 1 year ago twentysixteen-rtl.css 3 years ago twentysixteen.css 1 year ago twentysixteen.php 1 year ago twentytwenty-rtl.css 2 years ago twentytwenty.css 1 year ago twentytwenty.php 1 year ago twentytwentyone-rtl.css 2 years ago twentytwentyone.css 1 year ago twentytwentyone.php 1 year ago
twentytwenty.php
250 lines
1 <?php
2 /**
3 * Jetpack Compatibility File
4 * See: https://jetpack.com/
5 *
6 * @package automattic/jetpack
7 */
8
9 /**
10 * Add Jetpack extra functionality to Twenty Twenty.
11 *
12 * See: https://jetpack.com/support/infinite-scroll/
13 * See: https://jetpack.com/support/responsive-videos/
14 * See: https://jetpack.com/support/content-options/
15 */
16 function twentytwenty_jetpack_setup() {
17 /**
18 * Add theme support for Infinite Scroll.
19 */
20 add_theme_support(
21 'infinite-scroll',
22 array(
23 'type' => 'click',
24 'container' => 'site-content',
25 'render' => 'twentytwenty_infinite_scroll_render',
26 'footer' => 'site-content',
27 'footer_widgets' => array(
28 'sidebar-1',
29 'sidebar-2',
30 ),
31 )
32 );
33 }
34 add_action( 'after_setup_theme', 'twentytwenty_jetpack_setup' );
35
36 /**
37 * Custom render function for Infinite Scroll.
38 */
39 function twentytwenty_infinite_scroll_render() {
40 while ( have_posts() ) {
41 echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
42 the_post();
43 get_template_part( 'template-parts/content', get_post_type() );
44 }
45 }
46
47 /**
48 * Remove Sharing buttons and Likes from excerpts that are used as intro on single post views.
49 */
50 function twentytwenty_no_sharing_on_excerpts() {
51 if ( is_single() ) {
52 // Remove sharing buttons.
53 remove_filter( 'the_excerpt', 'sharing_display', 19 );
54
55 // Remove Likes.
56 if ( class_exists( 'Jetpack_Likes' ) ) {
57 remove_filter( 'the_excerpt', array( Jetpack_Likes::init(), 'post_likes' ), 30 );
58 }
59 }
60 }
61 add_action( 'loop_start', 'twentytwenty_no_sharing_on_excerpts' );
62
63 /**
64 * We do not need to display the Likes Heading here.
65 *
66 * @param string $heading Headline structure.
67 * @param string $title Title.
68 * @param string $module Module name.
69 */
70 function twentytwenty_no_likes_heading( $heading, $title, $module ) {
71 if ( 'likes' === $module ) {
72 return '';
73 }
74
75 return $heading;
76 }
77 add_filter( 'jetpack_sharing_headline_html', 'twentytwenty_no_likes_heading', 10, 3 );
78
79 /**
80 * Disable Ads in post excerpts, that are used as intro on single post views.
81 */
82 add_filter( 'wordads_excerpt_disable', '__return_true' );
83
84 /**
85 * Add our compat CSS file for Infinite Scroll and custom widget stylings and such.
86 * Set the version equal to filemtime for development builds, and the JETPACK__VERSION for production
87 * or skip it entirely for wpcom.
88 */
89 function twentytwenty_enqueue_jetpack_style() {
90 $version = Jetpack::is_development_version()
91 ? filemtime( JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentytwenty.css' )
92 : JETPACK__VERSION;
93
94 wp_enqueue_style( 'twentytwenty-jetpack', plugins_url( 'twentytwenty.css', __FILE__ ), array(), $version );
95 wp_style_add_data( 'twentytwenty-jetpack', 'rtl', 'replace' );
96 }
97 add_action( 'wp_enqueue_scripts', 'twentytwenty_enqueue_jetpack_style' );
98
99 /**
100 * Add inline custom CSS with custom accent color if there is any set.
101 */
102 function twentytwenty_infinity_accent_color_css() {
103 $color_info = get_theme_mod( 'accent_accessible_colors' );
104
105 // Bail early if no custom color was set.
106 if (
107 'custom' !== get_theme_mod( 'accent_hue_active' )
108 || empty( $color_info )
109 ) {
110 return;
111 }
112
113 $custom_css = sprintf(
114 '
115 .infinite-scroll #site-content #infinite-handle span button,
116 .infinite-scroll #site-content #infinite-handle span button:hover,
117 .infinite-scroll #site-content #infinite-handle span button:focus {
118 background: %1$s;
119 color: %2$s;
120 }
121 #site-content .entry-content div.sharedaddy h3.sd-title,
122 #site-content .entry-content h3.sd-title,
123 #site-content .entry-content #jp-relatedposts h3.jp-relatedposts-headline {
124 color: %3$s;
125 }
126 ',
127 $color_info['content']['accent'],
128 $color_info['content']['background'] ?? '#fff',
129 $color_info['content']['secondary']
130 );
131
132 // Add our custom style to the existing Twenty Twenty CSS compat file.
133 wp_add_inline_style( 'twentytwenty-jetpack', $custom_css );
134 }
135 add_action( 'wp_enqueue_scripts', 'twentytwenty_infinity_accent_color_css' );
136
137 /**
138 * Load AMP theme specific hooks for infinite scroll.
139 *
140 * @return void
141 */
142 function amp_twentytwenty_infinite_scroll_render_hooks() {
143 add_filter( 'jetpack_amp_infinite_footers', 'twentytwenty_amp_infinite_footers', 10, 2 );
144 add_filter( 'jetpack_amp_infinite_output', 'twentytwenty_amp_infinite_output' );
145 add_filter( 'jetpack_amp_infinite_separator', 'twentytwenty_amp_infinite_separator' );
146 add_filter( 'jetpack_amp_infinite_older_posts', 'twentytwenty_amp_infinite_older_posts' );
147 }
148
149 /**
150 * Get the theme specific footers.
151 *
152 * @param array $footers The footers of the themes.
153 * @param string $buffer Contents of the output buffer.
154 *
155 * @return mixed
156 */
157 function twentytwenty_amp_infinite_footers( $footers, $buffer ) {
158 // Collect the footer wrapper.
159 preg_match(
160 '/<div class="footer-nav-widgets-wrapper.*<!-- .footer-nav-widgets-wrapper -->/s',
161 $buffer,
162 $footer
163 );
164 $footers[] = reset( $footer );
165
166 // Collect the footer wrapper.
167 preg_match(
168 '/<footer id="site-footer".*<!-- #site-footer -->/s',
169 $buffer,
170 $footer
171 );
172 $footers[] = reset( $footer );
173
174 return $footers;
175 }
176
177 /**
178 * Hide and remove various elements from next page load.
179 *
180 * @param string $buffer Contents of the output buffer.
181 *
182 * @return string
183 */
184 function twentytwenty_amp_infinite_output( $buffer ) {
185 // Hide site header on next page load.
186 $buffer = preg_replace(
187 '/id="site-header"/',
188 '$0 next-page-hide',
189 $buffer
190 );
191
192 // Hide pagination on next page load.
193 $buffer = preg_replace(
194 '/class=".*pagination-wrapper.*"/',
195 '$0 next-page-hide hidden',
196 $buffer
197 );
198
199 // Remove the footer as it will be added back to amp next page footer.
200 $buffer = preg_replace(
201 '/<div class="footer-nav-widgets-wrapper.*<!-- .footer-nav-widgets-wrapper -->/s',
202 '',
203 $buffer
204 );
205
206 // Remove the footer as it will be added back to amp next page footer.
207 $buffer = preg_replace(
208 '/<footer id="site-footer".*<!-- #site-footer -->/s',
209 '',
210 $buffer
211 );
212
213 return $buffer;
214 }
215
216 /**
217 * Filter the AMP infinite scroll separator
218 *
219 * @return string
220 */
221 function twentytwenty_amp_infinite_separator() {
222 ob_start();
223 ?>
224 <hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true">
225 <?php
226 return ob_get_clean();
227 }
228
229 /**
230 * Filter the AMP infinite scroll older posts button
231 *
232 * @return string
233 */
234 function twentytwenty_amp_infinite_older_posts() {
235 ob_start();
236 ?>
237 <div id="infinite-handle" class="read-more-button-wrap">
238 <span>
239 <a href="{{url}}" class="more-link" rel="amphtml">
240 <span class="faux-button">
241 <?php esc_html_e( 'Older posts', 'jetpack' ); ?>
242 </span>
243 </a>
244 </span>
245 </div>
246 <?php
247 return ob_get_clean();
248 }
249
250