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