PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.2
Jetpack – WP Security, Backup, Speed, & Growth v16.2
16.2 16.2-beta 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 All 502 releases
jetpack / modules / custom-post-types / portfolios.php

portfolios.php in Jetpack – WP Security, Backup, Speed, & Growth 16.2, at modules/custom-post-types/portfolios.php

337 lines 10.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Register a portfolio post type and handle displaying it anywhere on the site.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! class_exists( 'Jetpack_Portfolio' ) ) {
9 /**
10 * Jetpack Portfolio.
11 */
12 class Jetpack_Portfolio {
13
14 /**
15 * Store an instance of the new class
16 *
17 * @var Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio
18 */
19 protected $new_instance;
20
21 /**
22 * Initialize class.
23 *
24 * @deprecated 13.9 Moved to Classic Theme Helper package.
25 */
26 public static function init() {
27 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
28 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio::init();
29 }
30
31 /**
32 * Conditionally hook into WordPress.
33 *
34 * Setup user option for enabling CPT
35 * If user has CPT enabled, show in admin
36 */
37 public function __construct() {
38 $this->new_instance = new Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio();
39 }
40
41 /**
42 * Forward all method calls to the Jetpack_Portfolio class.
43 *
44 * @param string $name The name of the method.
45 * @param array $arguments The arguments to pass to the method.
46 *
47 * @throws Exception If the method is not found.
48 */
49 public function __call( $name, $arguments ) {
50 if ( method_exists( $this->new_instance, $name ) ) {
51 return call_user_func_array( array( $this->new_instance, $name ), $arguments );
52 } else {
53 // Handle cases where the method is not found
54 throw new Exception( sprintf( 'Undefined method: %s', esc_html( $name ) ) );
55 }
56 }
57
58 /**
59 * Forward all static method calls to the Jetpack_Portfolio class.
60 *
61 * @param string $name The name of the method.
62 * @param array $arguments The arguments to pass to the method.
63 *
64 * @throws Exception If the method is not found.
65 */
66 public static function __callStatic( $name, $arguments ) {
67 if ( method_exists( Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio::class, $name ) ) {
68 return call_user_func_array( array( Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio::class, $name ), $arguments );
69 } else {
70 // Handle cases where the method is not found
71 throw new Exception( sprintf( 'Undefined static method: %s', esc_html( $name ) ) );
72 }
73 }
74
75 /**
76 * Registers the custom post types and adds action/filter handlers, but
77 * only if the site supports it
78 *
79 * @deprecated 13.9 Moved to Classic Theme Helper package.
80 */
81 public function maybe_register_cpt() {
82 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
83 $this->new_instance->maybe_register_cpt();
84 }
85
86 /**
87 * Add a checkbox field in 'Settings' > 'Writing'
88 * for enabling CPT functionality.
89 *
90 * @deprecated 13.9 Moved to Classic Theme Helper package.
91 *
92 * @return void
93 */
94 public function settings_api_init() {
95 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
96 $this->new_instance->settings_api_init();
97 }
98
99 /**
100 * HTML code to display a checkbox true/false option
101 * for the Portfolio CPT setting.
102 *
103 * @deprecated 13.9 Moved to Classic Theme Helper package.
104 *
105 * @return void
106 */
107 public function setting_html() {
108 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
109 $this->new_instance->setting_html();
110 }
111
112 /**
113 * Bump Portfolio > New Activation stat.
114 *
115 * @deprecated 13.9 Moved to Classic Theme Helper package.
116 */
117 public function new_activation_stat_bump() {
118 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
119 $this->new_instance->new_activation_stat_bump();
120 }
121
122 /**
123 * Bump Portfolio > Option On/Off stats to get total active.
124 *
125 * @deprecated 13.9 Moved to Classic Theme Helper package.
126 * @param mixed $old The old option value.
127 * @param mixed $new The new option value.
128 */
129 public function update_option_stat_bump( $old, $new ) {
130 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
131 $this->new_instance->update_option_stat_bump( $old, $new );
132 }
133
134 /**
135 * Bump Portfolio > Published Projects stat when projects are published.
136 *
137 * @deprecated 13.9 Moved to Classic Theme Helper package.
138 */
139 public function new_project_stat_bump() {
140 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
141 $this->new_instance->new_project_stat_bump();
142 }
143
144 /**
145 * Flush permalinks when CPT option is turned on/off
146 *
147 * @deprecated 13.9 Moved to Classic Theme Helper package.
148 */
149 public function flush_rules_on_enable() {
150 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
151 $this->new_instance->flush_rules_on_enable();
152 }
153
154 /**
155 * Count published projects and flush permalinks when first projects is published
156 *
157 * @deprecated 13.9 Moved to Classic Theme Helper package.
158 */
159 public function flush_rules_on_first_project() {
160 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
161 $this->new_instance->flush_rules_on_first_project();
162 }
163
164 /**
165 * Flush permalinks when CPT supported theme is activated
166 *
167 * @deprecated 13.9 Moved to Classic Theme Helper package.
168 */
169 public function flush_rules_on_switch() {
170 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
171 $this->new_instance->flush_rules_on_switch();
172 }
173
174 /**
175 * On plugin/theme activation, check if current theme supports CPT
176 *
177 * @deprecated 13.9 Moved to Classic Theme Helper package.
178 */
179 public static function activation_post_type_support() {
180 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
181 Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio::activation_post_type_support();
182 }
183
184 /**
185 * On theme switch, check if CPT item exists and disable if not
186 *
187 * @deprecated 13.9 Moved to Classic Theme Helper package.
188 */
189 public function deactivation_post_type_support() {
190 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
191 $this->new_instance->deactivation_post_type_support();
192 }
193
194 /**
195 * Register Post Type
196 *
197 * @deprecated 13.9 Moved to Classic Theme Helper package.
198 */
199 public function register_post_types() {
200 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
201 $this->new_instance->register_post_types();
202 }
203
204 /**
205 * Update messages for the Portfolio admin.
206 *
207 * @deprecated 13.9 Moved to Classic Theme Helper package.
208 * @param array $messages Existing post update messages.
209 */
210 public function updated_messages( $messages ) {
211 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
212 $this->new_instance->updated_messages( $messages );
213 }
214
215 /**
216 * Change ‘Title’ column label
217 * Add Featured Image column
218 *
219 * @deprecated 13.9 Moved to Classic Theme Helper package.
220 *
221 * @param array $columns An array of column names.
222 */
223 public function edit_admin_columns( $columns ) {
224 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
225 $this->new_instance->edit_admin_columns( $columns );
226 }
227
228 /**
229 * Add featured image to column
230 *
231 * @deprecated 13.9 Moved to Classic Theme Helper package.
232 *
233 * @param string $column The name of the column to display.
234 * @param int $post_id The current post ID.
235 */
236 public function image_column( $column, $post_id ) {
237 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
238 $this->new_instance->image_column( $column, $post_id );
239 }
240
241 /**
242 * Adjust image column width
243 *
244 * @deprecated 13.9 Moved to Classic Theme Helper package.
245 *
246 * @param string $hook Page hook.
247 */
248 public function enqueue_admin_styles( $hook ) {
249 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
250 $this->new_instance->enqueue_admin_styles( $hook );
251 }
252
253 /**
254 * Adds portfolio section to the Customizer.
255 *
256 * @deprecated 13.9 Moved to Classic Theme Helper package.
257 *
258 * @param WP_Customize_Manager $wp_customize Customizer instance.
259 */
260 public function customize_register( $wp_customize ) {
261 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
262 $this->new_instance->customize_register( $wp_customize );
263 }
264
265 /**
266 * Follow CPT reading setting on CPT archive and taxonomy pages
267 *
268 * @deprecated 13.9 Moved to Classic Theme Helper package.
269 * @param WP_Query $query A WP_Query instance.
270 */
271 public function query_reading_setting( $query ) {
272 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
273 $this->new_instance->query_reading_setting( $query );
274 }
275
276 /**
277 * If Infinite Scroll is set to 'click', use our custom reading setting instead of core's `posts_per_page`.
278 *
279 * @deprecated 13.9 Moved to Classic Theme Helper package.
280 * @param array $settings Array of Infinite Scroll settings.
281 */
282 public function infinite_scroll_click_posts_per_page( $settings ) {
283 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
284 $this->new_instance->infinite_scroll_click_posts_per_page( $settings );
285 }
286
287 /**
288 * Filter the results of infinite scroll to make sure we get `lastbatch` right.
289 *
290 * @deprecated 13.9 Moved to Classic Theme Helper package.
291 * @param array $results Array of Infinite Scroll results.
292 * @param array $query_args Array of main query arguments.
293 * @param WP_Query $query WP Query.
294 */
295 public function infinite_scroll_results( $results, $query_args, $query ) {
296 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
297 $this->new_instance->infinite_scroll_results( $results, $query_args, $query );
298 }
299
300 /**
301 * Add CPT to Dotcom sitemap
302 *
303 * @deprecated 13.9 Moved to Classic Theme Helper package.
304 * @param array $post_types Array of post types included in sitemap.
305 */
306 public function add_to_sitemap( $post_types ) {
307 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
308 $this->new_instance->add_to_sitemap( $post_types );
309 }
310
311 /**
312 * Add to REST API post type allowed list.
313 *
314 * @deprecated 13.9 Moved to Classic Theme Helper package.
315 * @param array $post_types Array of post types to add to the allowed list. Default to `array( 'post', 'page', 'revision' )`.
316 */
317 public function allow_portfolio_rest_api_type( $post_types ) {
318 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
319 $this->new_instance->allow_portfolio_rest_api_type( $post_types );
320 }
321
322 /**
323 * Our [portfolio] shortcode.
324 * Prints Portfolio data styled to look good on *any* theme.
325 *
326 * @deprecated 13.9 Moved to Classic Theme Helper package.
327 * @param array $atts Shortcode attributes.
328 *
329 * @return string html
330 */
331 public static function portfolio_shortcode( $atts ) {
332 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
333 return Automattic\Jetpack\Classic_Theme_Helper\Jetpack_Portfolio::portfolio_shortcode( $atts );
334 }
335 }
336 }
337