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