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