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 / theme-tools / content-options / featured-images.php
jetpack / modules / theme-tools / content-options Last commit date
author-bio.php 7 months ago blog-display.php 1 month ago customizer.js 1 year ago customizer.php 7 months ago featured-images-fallback.php 2 weeks ago featured-images.php 1 month ago post-details.php 7 months ago
featured-images.php
142 lines
1 <?php
2 /**
3 * Theme Tools: functions for Featured Images.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit( 0 );
10 }
11
12 if ( ! function_exists( 'jetpack_featured_images_remove_post_thumbnail' ) ) {
13
14 /**
15 * The function to prevent for Featured Images to be displayed in a theme.
16 *
17 * @deprecated 13.9 Moved to Classic Theme Helper package.
18 * @param array $metadata Post metadata.
19 * @param int $object_id Post ID.
20 * @param string $meta_key Metadata key.
21 */
22 function jetpack_featured_images_remove_post_thumbnail( $metadata, $object_id, $meta_key ) {
23 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
24 $opts = jetpack_featured_images_get_settings();
25
26 /**
27 * Allow featured images to be displayed at all times for specific CPTs.
28 *
29 * @module theme-tools
30 *
31 * @since 9.1.0
32 *
33 * @param array $excluded_post_types Array of excluded post types.
34 */
35 $excluded_post_types = apply_filters(
36 'jetpack_content_options_featured_image_exclude_cpt',
37 array( 'jp_pay_product' )
38 );
39
40 // Automatically return metadata for specific post types, when we don't want to hide the Featured Image.
41 if ( in_array( get_post_type( $object_id ), $excluded_post_types, true ) ) {
42 return $metadata;
43 }
44
45 // Return false if the archive option or singular option is unticked.
46 if (
47 ( true === $opts['archive']
48 && ( is_home() || is_archive() || is_search() )
49 && ! jetpack_is_shop_page()
50 && ! $opts['archive-option']
51 && ( isset( $meta_key )
52 && '_thumbnail_id' === $meta_key )
53 && in_the_loop()
54 )
55 || ( true === $opts['post']
56 && is_single()
57 && ! jetpack_is_product()
58 && ! $opts['post-option']
59 && ( isset( $meta_key )
60 && '_thumbnail_id' === $meta_key )
61 && in_the_loop()
62 )
63 || ( true === $opts['page']
64 && is_singular()
65 && is_page()
66 && ! $opts['page-option']
67 && ( isset( $meta_key )
68 && '_thumbnail_id' === $meta_key )
69 && in_the_loop()
70 )
71 || ( true === $opts['portfolio']
72 && post_type_exists( 'jetpack-portfolio' )
73 && is_singular( 'jetpack-portfolio' )
74 && ! $opts['portfolio-option']
75 && ( isset( $meta_key )
76 && '_thumbnail_id' === $meta_key )
77 && in_the_loop()
78 )
79 ) {
80
81 // Do not override thumbnail settings within blocks (eg. Latest Posts block).
82 $trace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace
83 foreach ( $trace as $frame ) {
84 if ( ! empty( $frame['class'] ) && class_exists( $frame['class'], false ) && is_a( $frame['class'], WP_Block::class, true ) ) {
85 return $metadata;
86 }
87 }
88
89 return false;
90 } else {
91 return $metadata;
92 }
93 }
94 add_filter( 'get_post_metadata', 'jetpack_featured_images_remove_post_thumbnail', true, 3 );
95
96 }
97
98 if ( ! function_exists( 'jetpack_is_product' ) ) {
99
100 /**
101 * Check if we are in a WooCommerce Product in order to exclude it from the is_single check.
102 *
103 * @deprecated 13.9 Moved to Classic Theme Helper package.
104 */
105 function jetpack_is_product() {
106 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
107 return ( function_exists( 'is_product' ) ) ? is_product() : false;
108 }
109
110 }
111
112 if ( ! function_exists( 'jetpack_is_shop_page' ) ) {
113
114 /**
115 * Check if we are in a WooCommerce Shop in order to exclude it from the is_archive check.
116 *
117 * @deprecated 13.9 Moved to Classic Theme Helper package.
118 */
119 function jetpack_is_shop_page() {
120 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
121 // Check if WooCommerce is active first.
122 if ( ! class_exists( 'WooCommerce' ) ) {
123 return false;
124 }
125
126 global $wp_query;
127
128 $front_page_id = get_option( 'page_on_front' );
129 $current_page_id = $wp_query->get( 'page_id' );
130 $is_static_front_page = 'page' === get_option( 'show_on_front' );
131
132 if ( $is_static_front_page && $front_page_id === $current_page_id ) {
133 $is_shop_page = wc_get_page_id( 'shop' ) === $current_page_id;
134 } else {
135 $is_shop_page = is_shop();
136 }
137
138 return $is_shop_page;
139 }
140
141 }
142