PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.6.1
Jetpack – WP Security, Backup, Speed, & Growth v14.6.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
249 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 // Bail early if no custom color was set.
104 if (
105 'custom' !== get_theme_mod( 'accent_hue_active' )
106 || empty( get_theme_mod( 'accent_accessible_colors' ) )
107 ) {
108 return;
109 }
110
111 $color_info = get_theme_mod( 'accent_accessible_colors' );
112 $custom_css = sprintf(
113 '
114 .infinite-scroll #site-content #infinite-handle span button,
115 .infinite-scroll #site-content #infinite-handle span button:hover,
116 .infinite-scroll #site-content #infinite-handle span button:focus {
117 background: %1$s;
118 color: %2$s;
119 }
120 #site-content .entry-content div.sharedaddy h3.sd-title,
121 #site-content .entry-content h3.sd-title,
122 #site-content .entry-content #jp-relatedposts h3.jp-relatedposts-headline {
123 color: %3$s;
124 }
125 ',
126 $color_info['content']['accent'],
127 $color_info['content']['background'],
128 $color_info['content']['secondary']
129 );
130
131 // Add our custom style to the existing Twenty Twenty CSS compat file.
132 wp_add_inline_style( 'twentytwenty-jetpack', $custom_css );
133 }
134 add_action( 'wp_enqueue_scripts', 'twentytwenty_infinity_accent_color_css' );
135
136 /**
137 * Load AMP theme specific hooks for infinite scroll.
138 *
139 * @return void
140 */
141 function amp_twentytwenty_infinite_scroll_render_hooks() {
142 add_filter( 'jetpack_amp_infinite_footers', 'twentytwenty_amp_infinite_footers', 10, 2 );
143 add_filter( 'jetpack_amp_infinite_output', 'twentytwenty_amp_infinite_output' );
144 add_filter( 'jetpack_amp_infinite_separator', 'twentytwenty_amp_infinite_separator' );
145 add_filter( 'jetpack_amp_infinite_older_posts', 'twentytwenty_amp_infinite_older_posts' );
146 }
147
148 /**
149 * Get the theme specific footers.
150 *
151 * @param array $footers The footers of the themes.
152 * @param string $buffer Contents of the output buffer.
153 *
154 * @return mixed
155 */
156 function twentytwenty_amp_infinite_footers( $footers, $buffer ) {
157 // Collect the footer wrapper.
158 preg_match(
159 '/<div class="footer-nav-widgets-wrapper.*<!-- .footer-nav-widgets-wrapper -->/s',
160 $buffer,
161 $footer
162 );
163 $footers[] = reset( $footer );
164
165 // Collect the footer wrapper.
166 preg_match(
167 '/<footer id="site-footer".*<!-- #site-footer -->/s',
168 $buffer,
169 $footer
170 );
171 $footers[] = reset( $footer );
172
173 return $footers;
174 }
175
176 /**
177 * Hide and remove various elements from next page load.
178 *
179 * @param string $buffer Contents of the output buffer.
180 *
181 * @return string
182 */
183 function twentytwenty_amp_infinite_output( $buffer ) {
184 // Hide site header on next page load.
185 $buffer = preg_replace(
186 '/id="site-header"/',
187 '$0 next-page-hide',
188 $buffer
189 );
190
191 // Hide pagination on next page load.
192 $buffer = preg_replace(
193 '/class=".*pagination-wrapper.*"/',
194 '$0 next-page-hide hidden',
195 $buffer
196 );
197
198 // Remove the footer as it will be added back to amp next page footer.
199 $buffer = preg_replace(
200 '/<div class="footer-nav-widgets-wrapper.*<!-- .footer-nav-widgets-wrapper -->/s',
201 '',
202 $buffer
203 );
204
205 // Remove the footer as it will be added back to amp next page footer.
206 $buffer = preg_replace(
207 '/<footer id="site-footer".*<!-- #site-footer -->/s',
208 '',
209 $buffer
210 );
211
212 return $buffer;
213 }
214
215 /**
216 * Filter the AMP infinite scroll separator
217 *
218 * @return string
219 */
220 function twentytwenty_amp_infinite_separator() {
221 ob_start();
222 ?>
223 <hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true">
224 <?php
225 return ob_get_clean();
226 }
227
228 /**
229 * Filter the AMP infinite scroll older posts button
230 *
231 * @return string
232 */
233 function twentytwenty_amp_infinite_older_posts() {
234 ob_start();
235 ?>
236 <div id="infinite-handle" class="read-more-button-wrap">
237 <span>
238 <a href="{{url}}" class="more-link" rel="amphtml">
239 <span class="faux-button">
240 <?php esc_html_e( 'Older posts', 'jetpack' ); ?>
241 </span>
242 </a>
243 </span>
244 </div>
245 <?php
246 return ob_get_clean();
247 }
248
249