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