PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.5.1
Jetpack – WP Security, Backup, Speed, & Growth v14.5.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 / custom-post-types / testimonial.php
jetpack / modules / custom-post-types Last commit date
css 5 years ago js 1 year ago nova.php 1 year ago portfolios.php 1 year ago testimonial.php 1 year ago
testimonial.php
411 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Register a Testimonial post type and handle displaying it anywhere on the site.
4 *
5 * @package automattic/jetpack
6 *
7 * @phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound
8 * @phpcs:disable MediaWiki.Usage.NestedFunctions.NestedFunction
9 */
10
11 // phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files.
12
13 if ( ! class_exists( 'Jetpack_Testimonial' ) ) {
14 /**
15 * Add a Testimonial CPT, and display it with a shortcode
16 */
17 class Jetpack_Testimonial {
18
19 /**
20 * Store an instance of the new class
21 *
22 * @var Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial
23 */
24 protected $new_instance;
25
26 /**
27 * Initialize class.
28 *
29 * @deprecated 14.2 Moved to Classic Theme Helper package.
30 */
31 public static function init() {
32 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
33 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial::init();
34 }
35
36 /**
37 * Conditionally hook into WordPress.
38 *
39 * Setup user option for enabling CPT.
40 * If user has CPT enabled, show in admin.
41 */
42 public function __construct() {
43 $this->new_instance = new Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial();
44 }
45
46 /**
47 * Forward all method calls to the Jetpack_Testimonial class.
48 *
49 * @param string $name The name of the method.
50 * @param array $arguments The arguments to pass to the method.
51 *
52 * @throws Exception If the method is not found.
53 */
54 public function __call( $name, $arguments ) {
55 if ( method_exists( $this->new_instance, $name ) ) {
56 return call_user_func_array( array( $this->new_instance, $name ), $arguments );
57 } else {
58 // Handle cases where the method is not found
59 throw new Exception( sprintf( 'Undefined method: %s', esc_html( $name ) ) );
60 }
61 }
62
63 /**
64 * Forward all static method calls to the Jetpack_Testimonial class.
65 *
66 * @param string $name The name of the method.
67 * @param array $arguments The arguments to pass to the method.
68 *
69 * @throws Exception If the method is not found.
70 */
71 public static function __callStatic( $name, $arguments ) {
72 if ( method_exists( Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial::class, $name ) ) {
73 return call_user_func_array( array( Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial::class, $name ), $arguments );
74 } else {
75 // Handle cases where the method is not found
76 throw new Exception( sprintf( 'Undefined static method: %s', esc_html( $name ) ) );
77 }
78 }
79
80 /**
81 * Registers the custom post types and adds action/filter handlers, but
82 * only if the site supports it.
83 *
84 * @deprecated 14.2 Moved to Classic Theme Helper package.
85 */
86 public function maybe_register_cpt() {
87 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
88 $this->new_instance->maybe_register_cpt();
89 }
90
91 /**
92 * Add a checkbox field in 'Settings' > 'Writing'
93 * for enabling CPT functionality.
94 *
95 * @deprecated 14.2 Moved to Classic Theme Helper package.
96 *
97 * @return void
98 */
99 public function settings_api_init() {
100 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
101 $this->new_instance->settings_api_init();
102 }
103
104 /**
105 * HTML code to display a checkbox true/false option
106 * for the CPT setting.
107 *
108 * @deprecated 14.2 Moved to Classic Theme Helper package.
109 *
110 * @return void
111 */
112 public function setting_html() {
113 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
114 $this->new_instance->setting_html();
115 }
116
117 /**
118 * Add to REST API post type allowed list.
119 *
120 * @param array $post_types Array of allowed post types.
121 * @return array `$post_types` with our type added.
122 */
123 public function allow_cpt_rest_api_type( $post_types ) {
124 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
125 return $this->new_instance->allow_cpt_rest_api_type( $post_types );
126 }
127
128 /**
129 * Bump Testimonial > New Activation stat
130 *
131 * @deprecated 14.2 Moved to Classic Theme Helper package.
132 */
133 public function new_activation_stat_bump() {
134 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
135 $this->new_instance->new_activation_stat_bump();
136 }
137
138 /**
139 * Bump Testimonial > Option On/Off stats to get total active
140 *
141 * @deprecated 14.2 Moved to Classic Theme Helper package.
142 *
143 * @param mixed $old The old option value.
144 * @param mixed $new The new option value.
145 */
146 public function update_option_stat_bump( $old, $new ) {
147 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
148 $this->new_instance->update_option_stat_bump( $old, $new );
149 }
150
151 /**
152 * Bump Testimonial > Published Testimonials stat when testimonials are published
153 *
154 * @deprecated 14.2 Moved to Classic Theme Helper package.
155 */
156 public function new_testimonial_stat_bump() {
157 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
158 $this->new_instance->new_testimonial_stat_bump();
159 }
160
161 /**
162 * Flush permalinks when CPT option is turned on/off
163 *
164 * @deprecated 14.2 Moved to Classic Theme Helper package.
165 */
166 public function flush_rules_on_enable() {
167 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
168 $this->new_instance->flush_rules_on_enable();
169 }
170
171 /**
172 * Count published testimonials and flush permalinks when first testimonial is published
173 *
174 * @deprecated 14.2 Moved to Classic Theme Helper package.
175 */
176 public function flush_rules_on_first_testimonial() {
177 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
178 $this->new_instance->flush_rules_on_first_testimonial();
179 }
180
181 /**
182 * Flush permalinks when CPT supported theme is activated
183 *
184 * @deprecated 14.2 Moved to Classic Theme Helper package.
185 */
186 public function flush_rules_on_switch() {
187 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
188 $this->new_instance->flush_rules_on_switch();
189 }
190
191 /**
192 * On plugin/theme activation, check if current theme supports CPT
193 *
194 * @deprecated 14.2 Moved to Classic Theme Helper package.
195 */
196 public static function activation_post_type_support() {
197 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
198 Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial::activation_post_type_support();
199 }
200
201 /**
202 * On theme switch, check if CPT item exists and disable if not
203 *
204 * @deprecated 14.2 Moved to Classic Theme Helper package.
205 */
206 public function deactivation_post_type_support() {
207 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
208 $this->new_instance->deactivation_post_type_support();
209 }
210
211 /**
212 * Register Post Type
213 *
214 * @deprecated 14.2 Moved to Classic Theme Helper package.
215 */
216 public function register_post_types() {
217 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
218 $this->new_instance->register_post_types();
219 }
220
221 /**
222 * Update messages for the Testimonial admin.
223 *
224 * @deprecated 14.2 Moved to Classic Theme Helper package.
225 *
226 * @param array $messages Existing post update messages.
227 * @return array Updated `$messages`.
228 */
229 public function updated_messages( $messages ) {
230 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
231 return $this->new_instance->updated_messages( $messages );
232 }
233
234 /**
235 * Change ‘Enter Title Here’ text for the Testimonial.
236 *
237 * @deprecated 14.2 Moved to Classic Theme Helper package.
238 *
239 * @param string $title Placeholder text. Default 'Add title'.
240 * @return string Replacement title.
241 */
242 public function change_default_title( $title ) {
243 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
244 return $this->new_instance->change_default_title( $title );
245 }
246
247 /**
248 * Change ‘Title’ column label on all Testimonials page.
249 *
250 * @deprecated 14.2 Moved to Classic Theme Helper package.
251 *
252 * @param array $columns An array of column names.
253 * @return array Updated array.
254 */
255 public function edit_title_column_label( $columns ) {
256 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
257 return $this->new_instance->edit_title_column_label( $columns );
258 }
259
260 /**
261 * Follow CPT reading setting on CPT archive page
262 *
263 * @deprecated 14.2 Moved to Classic Theme Helper package.
264 *
265 * @param WP_Query $query A WP_Query instance.
266 */
267 public function query_reading_setting( $query ) {
268 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
269 $this->new_instance->query_reading_setting( $query );
270 }
271
272 /**
273 * If Infinite Scroll is set to 'click', use our custom reading setting instead of core's `posts_per_page`.
274 *
275 * @deprecated 14.2 Moved to Classic Theme Helper package.
276 *
277 * @param array $settings Array of Infinite Scroll settings.
278 * @return array Updated `$settings`.
279 */
280 public function infinite_scroll_click_posts_per_page( $settings ) {
281 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
282 return $this->new_instance->infinite_scroll_click_posts_per_page( $settings );
283 }
284
285 /**
286 * Add CPT to Dotcom sitemap
287 *
288 * @deprecated 14.2 Moved to Classic Theme Helper package.
289 *
290 * @param array $post_types Array of post types included in sitemap.
291 * @return array Updated `$post_types`.
292 */
293 public function add_to_sitemap( $post_types ) {
294 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
295 return $this->new_instance->add_to_sitemap( $post_types );
296 }
297
298 /**
299 * Adds a submenu link to the Customizer.
300 *
301 * @deprecated 14.2 Moved to Classic Theme Helper package.
302 */
303 public function add_customize_page() {
304 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
305 $this->new_instance->add_customize_page();
306 }
307
308 /**
309 * Adds testimonial section to the Customizer.
310 *
311 * @deprecated 14.2 Moved to Classic Theme Helper package.
312 *
313 * @param WP_Customize_Manager $wp_customize Customizer instance.
314 */
315 public function customize_register( $wp_customize ) {
316 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
317 $this->new_instance->customize_register( $wp_customize );
318 }
319
320 /**
321 * Add Featured image to theme mod if necessary.
322 *
323 * @deprecated 14.2 Moved to Classic Theme Helper package.
324 *
325 * @param array $opt The value of the current theme modification.
326 * @return array Updated `$opt`.
327 */
328 public function coerce_testimonial_image_to_url( $opt ) {
329 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
330 return $this->new_instance->coerce_testimonial_image_to_url( $opt );
331 }
332
333 /**
334 * Our [testimonial] shortcode.
335 * Prints Testimonial data styled to look good on *any* theme.
336 *
337 * @deprecated 14.2 Moved to Classic Theme Helper package.
338 *
339 * @param array $atts Shortcode attributes.
340 *
341 * @return string HTML from `self::jetpack_testimonial_shortcode_html()`.
342 */
343 public static function jetpack_testimonial_shortcode( $atts ) {
344 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
345 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial::jetpack_testimonial_shortcode( $atts );
346 }
347 }
348
349 /**
350 * Additional Testimonial customizer options.
351 *
352 * @deprecated 14.2 Moved to Classic Theme Helper package.
353 */
354 function jetpack_testimonial_custom_control_classes() {
355 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
356 /**
357 * Clean the title parameter.
358 */
359 class Jetpack_Testimonial_Title_Control extends WP_Customize_Control {
360 /**
361 * Sanitize content passed to control.
362 *
363 * @deprecated 14.2 Moved to Classic Theme Helper package.
364 *
365 * @param string $value Control value.
366 * @return string Sanitized value.
367 */
368 public static function sanitize_content( $value ) {
369 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
370 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial_Title_Control::sanitize_content( $value );
371 }
372 }
373
374 /**
375 * Clean textarea content.
376 */
377 class Jetpack_Testimonial_Textarea_Control extends WP_Customize_Control {
378 /**
379 * Control type.
380 *
381 * @var string
382 */
383 public $type = 'textarea';
384
385 /**
386 * Render the control's content.
387 *
388 * @deprecated 14.2 Moved to Classic Theme Helper package.
389 */
390 public function render_content() {
391 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
392 $testimonial_textarea_control = new Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial_Textarea_Control( $this->manager, $this->id, $this->args );
393 $testimonial_textarea_control->render_content();
394 }
395
396 /**
397 * Sanitize content passed to control.
398 *
399 * @deprecated 14.2 Moved to Classic Theme Helper package.
400 *
401 * @param string $value Control value.
402 * @return string Sanitized value.
403 */
404 public static function sanitize_content( $value ) {
405 _deprecated_function( __FUNCTION__, 'jetpack-14.2' );
406 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Testimonial_Textarea_Control::sanitize_content( $value );
407 }
408 }
409 }
410 }
411