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.php
jetpack / modules / theme-tools Last commit date
compat 2 years ago content-options 2 years ago js 6 years ago responsive-videos 3 years ago site-logo 2 years ago social-menu 2 years ago content-options.php 2 years ago devicepx.php 2 years ago featured-content.php 2 years ago infinite-scroll.php 4 years ago random-redirect.php 2 years ago responsive-videos.php 2 years ago site-breadcrumbs.php 3 years ago site-logo.php 2 years ago social-links.php 2 years ago social-menu.php 4 years ago
content-options.php
155 lines
1 <?php
2 /**
3 * Jetpack Compatibility File
4 * See: https://jetpack.com/
5 *
6 * @package automattic/jetpack
7 */
8
9 /**
10 * Content Options.
11 *
12 * This feature will only be activated for themes that declare their support.
13 * This can be done by adding code similar to the following during the
14 * 'after_setup_theme' action:
15 *
16 add_theme_support( 'jetpack-content-options', array(
17 'blog-display' => 'content', // the default setting of the theme: 'content', 'excerpt' or array( 'content', 'excerpt' ) for themes mixing both display.
18 'author-bio' => true, // display or not the author bio: true or false.
19 'author-bio-default' => false, // the default setting of the author bio, if it's being displayed or not: true or false (only required if false).
20 'avatar-default' => true, // display or not the default avatar for the author bio: true or false.
21 'masonry' => '.site-main', // a CSS selector matching the elements that triggers a masonry refresh if the theme is using a masonry layout.
22 'post-details' => array(
23 'stylesheet' => 'themeslug-style', // name of the theme's stylesheet.
24 'date' => '.posted-on', // a CSS selector matching the elements that display the post date.
25 'categories' => '.cat-links', // a CSS selector matching the elements that display the post categories.
26 'tags' => '.tags-links', // a CSS selector matching the elements that display the post tags.
27 'author' => '.byline', // a CSS selector matching the elements that display the post author.
28 'comment' => '.comments-link', // a CSS selector matching the elements that display the comment link.
29 ),
30 'featured-images' => array(
31 'archive' => true, // enable or not the featured image check for archive pages: true or false.
32 'archive-default' => false, // the default setting of the featured image on archive pages, if it's being displayed or not: true or false (only required if false).
33 'post' => true, // enable or not the featured image check for single posts: true or false.
34 'post-default' => false, // the default setting of the featured image on single posts, if it's being displayed or not: true or false (only required if false).
35 'page' => true, // enable or not the featured image check for single pages: true or false.
36 'page-default' => false, // the default setting of the featured image on single pages, if it's being displayed or not: true or false (only required if false).
37 'portfolio' => true, // enable or not the featured image check for single projects: true or false.
38 'portfolio-default' => false, // the default setting of the featured image on single projects, if it's being displayed or not: true or false (only required if false).
39 'fallback' => true, // enable or not the featured image fallback: true or false.
40 'fallback-default' => true, // the default setting for featured image fallbacks: true or false (only required if false)
41 ),
42 ) );
43 */
44
45 /**
46 * Activate the Content Options plugin.
47 *
48 * @uses current_theme_supports()
49 */
50 function jetpack_content_options_init() {
51 // If the theme doesn't support 'jetpack-content-options', don't continue.
52 if ( ! current_theme_supports( 'jetpack-content-options' ) ) {
53 return;
54 }
55
56 // Load the Customizer options.
57 require __DIR__ . '/content-options/customizer.php';
58
59 // Load Blog Display function.
60 require __DIR__ . '/content-options/blog-display.php';
61
62 // Load Author Bio function.
63 require __DIR__ . '/content-options/author-bio.php';
64
65 // Load Post Details function.
66 require __DIR__ . '/content-options/post-details.php';
67
68 // Load Featured Images function.
69 if ( jetpack_featured_images_should_load() ) {
70 require __DIR__ . '/content-options/featured-images.php';
71 }
72
73 // Load Featured Images Fallback function.
74 if ( jetpack_featured_images_fallback_should_load() ) {
75 require __DIR__ . '/content-options/featured-images-fallback.php';
76 }
77 }
78 add_action( 'init', 'jetpack_content_options_init' );
79
80 /**
81 * Get featured images settings using the jetpack-content-options theme support.
82 */
83 function jetpack_featured_images_get_settings() {
84 $options = get_theme_support( 'jetpack-content-options' );
85
86 $featured_images = ( ! empty( $options[0]['featured-images'] ) ) ? $options[0]['featured-images'] : null;
87
88 $settings = array(
89 'archive' => ( ! empty( $featured_images['archive'] ) ) ? $featured_images['archive'] : null,
90 'post' => ( ! empty( $featured_images['post'] ) ) ? $featured_images['post'] : null,
91 'page' => ( ! empty( $featured_images['page'] ) ) ? $featured_images['page'] : null,
92 'portfolio' => ( ! empty( $featured_images['portfolio'] ) ) ? $featured_images['portfolio'] : null,
93 'archive-default' => ( isset( $featured_images['archive-default'] ) && false === $featured_images['archive-default'] ) ? '' : 1,
94 'post-default' => ( isset( $featured_images['post-default'] ) && false === $featured_images['post-default'] ) ? '' : 1,
95 'page-default' => ( isset( $featured_images['page-default'] ) && false === $featured_images['page-default'] ) ? '' : 1,
96 'portfolio-default' => ( isset( $featured_images['portfolio-default'] ) && false === $featured_images['portfolio-default'] ) ? '' : 1,
97 'fallback' => ( ! empty( $featured_images['fallback'] ) ) ? $featured_images['fallback'] : null,
98 'fallback-default' => ( isset( $featured_images['fallback-default'] ) && false === $featured_images['fallback-default'] ) ? '' : 1,
99 );
100
101 $settings = array_merge(
102 $settings,
103 array(
104 'archive-option' => get_option( 'jetpack_content_featured_images_archive', $settings['archive-default'] ),
105 'post-option' => get_option( 'jetpack_content_featured_images_post', $settings['post-default'] ),
106 'page-option' => get_option( 'jetpack_content_featured_images_page', $settings['page-default'] ),
107 'portfolio-option' => get_option( 'jetpack_content_featured_images_portfolio', $settings['portfolio-default'] ),
108 'fallback-option' => get_option( 'jetpack_content_featured_images_fallback', $settings['fallback-default'] ),
109 )
110 );
111
112 return $settings;
113 }
114
115 /**
116 * Determine if the Jetpack Featured Images should be load.
117 */
118 function jetpack_featured_images_should_load() {
119 // If the theme doesn't support post thumbnails, don't continue.
120 if ( ! current_theme_supports( 'post-thumbnails' ) ) {
121 return false;
122 }
123
124 $opts = jetpack_featured_images_get_settings();
125
126 // If the theme doesn't support archive, post and page or if all the options are ticked and we aren't in the customizer, don't continue.
127 if (
128 ( true !== $opts['archive'] && true !== $opts['post'] && true !== $opts['page'] )
129 || ( 1 === $opts['archive-option'] && 1 === $opts['post-option'] && 1 === $opts['page-option'] && ! is_customize_preview() )
130 ) {
131 return false;
132 }
133
134 return true;
135 }
136
137 /**
138 * Determine if the Jetpack Featured Images fallback should load.
139 */
140 function jetpack_featured_images_fallback_should_load() {
141 // If the theme doesn't support post thumbnails, don't continue.
142 if ( ! current_theme_supports( 'post-thumbnails' ) ) {
143 return false;
144 }
145
146 $opts = jetpack_featured_images_get_settings();
147
148 // If the theme doesn't support fallback, don't continue.
149 if ( true !== $opts['fallback'] ) {
150 return false;
151 }
152
153 return true;
154 }
155