PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 12.3.2
Jetpack – WP Security, Backup, Speed, & Growth v12.3.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 4 years ago blog-display.php 4 years ago customizer.js 6 years ago customizer.php 3 years ago featured-images-fallback.php 4 years ago featured-images.php 4 years ago post-details.php 4 years ago
featured-images.php
109 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 return false;
73 } else {
74 return $metadata;
75 }
76 }
77 add_filter( 'get_post_metadata', 'jetpack_featured_images_remove_post_thumbnail', true, 3 );
78
79 /**
80 * Check if we are in a WooCommerce Product in order to exclude it from the is_single check.
81 */
82 function jetpack_is_product() {
83 return ( function_exists( 'is_product' ) ) ? is_product() : false;
84 }
85
86 /**
87 * Check if we are in a WooCommerce Shop in order to exclude it from the is_archive check.
88 */
89 function jetpack_is_shop_page() {
90 // Check if WooCommerce is active first.
91 if ( ! class_exists( 'WooCommerce' ) ) {
92 return false;
93 }
94
95 global $wp_query;
96
97 $front_page_id = get_option( 'page_on_front' );
98 $current_page_id = $wp_query->get( 'page_id' );
99 $is_static_front_page = 'page' === get_option( 'show_on_front' );
100
101 if ( $is_static_front_page && $front_page_id === $current_page_id ) {
102 $is_shop_page = ( wc_get_page_id( 'shop' ) === $current_page_id ) ? true : false;
103 } else {
104 $is_shop_page = is_shop();
105 }
106
107 return $is_shop_page;
108 }
109