PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
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 / post-details.php
jetpack / modules / theme-tools / content-options Last commit date
author-bio.php 7 months ago blog-display.php 1 month ago customizer.js 1 year ago customizer.php 7 months ago featured-images-fallback.php 2 weeks ago featured-images.php 1 month ago post-details.php 7 months ago
post-details.php
188 lines
1 <?php
2 /**
3 * Theme Tools: functions for Post Details.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit( 0 );
10 }
11
12 if ( ! function_exists( 'jetpack_post_details_enqueue_scripts' ) ) {
13
14 /**
15 * The function to include Post Details in a theme's stylesheet.
16 *
17 * @deprecated 13.9 Moved to Classic Theme Helper package.
18 */
19 function jetpack_post_details_enqueue_scripts() {
20 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
21 // Make sure we can proceed.
22 list( $should_run, $options, $definied, $post_details ) = jetpack_post_details_should_run();
23
24 if ( ! $should_run ) {
25 return;
26 }
27
28 list( $date_option, $categories_option, $tags_option, $author_option, $comment_option ) = $options;
29 list( $date, $categories, $tags, $author, $comment ) = $definied;
30
31 $elements = array();
32
33 // If date option is unticked, add it to the list of classes.
34 if ( 1 !== (int) $date_option && ! empty( $date ) ) {
35 $elements[] = $date;
36 }
37
38 // If categories option is unticked, add it to the list of classes.
39 if ( 1 !== (int) $categories_option && ! empty( $categories ) ) {
40 $elements[] = $categories;
41 }
42
43 // If tags option is unticked, add it to the list of classes.
44 if ( 1 !== (int) $tags_option && ! empty( $tags ) ) {
45 $elements[] = $tags;
46 }
47
48 // If author option is unticked, add it to the list of classes.
49 if ( 1 !== (int) $author_option && ! empty( $author ) ) {
50 $elements[] = $author;
51 }
52
53 // If comment option is unticked, add it to the list of classes.
54 if ( 1 !== (int) $comment_option && ! empty( $comment ) ) {
55 $elements[] = $comment;
56 }
57
58 // If the Elements array is empty, return without setting custom CSS.
59 if ( empty( $elements ) ) {
60 return;
61 }
62
63 // Get the list of classes.
64 $elements = implode( ', ', $elements );
65
66 // Hide the classes with CSS.
67 $css = $elements . ' { clip: rect(1px, 1px, 1px, 1px); height: 1px; position: absolute; overflow: hidden; width: 1px; }';
68
69 // Add the CSS to the stylesheet.
70 wp_add_inline_style( $post_details['stylesheet'], $css );
71 }
72 add_action( 'wp_enqueue_scripts', 'jetpack_post_details_enqueue_scripts' );
73
74 }
75
76 if ( ! function_exists( 'jetpack_post_details_body_classes' ) ) {
77
78 /**
79 * Adds custom classes to the array of body classes.
80 *
81 * @deprecated 13.9 Moved to Classic Theme Helper package.
82 * @param array $classes Classes for the body element.
83 */
84 function jetpack_post_details_body_classes( $classes ) {
85 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
86 // Make sure we can proceed.
87 list( $should_run, $options, $definied ) = jetpack_post_details_should_run();
88
89 if ( ! $should_run ) {
90 return $classes;
91 }
92
93 list( $date_option, $categories_option, $tags_option, $author_option, $comment_option ) = $options;
94 list( $date, $categories, $tags, $author, $comment ) = $definied;
95
96 // If date option is unticked, add a class of 'date-hidden' to the body.
97 if ( 1 !== (int) $date_option && ! empty( $date ) ) {
98 $classes[] = 'date-hidden';
99 }
100
101 // If categories option is unticked, add a class of 'categories-hidden' to the body.
102 if ( 1 !== (int) $categories_option && ! empty( $categories ) ) {
103 $classes[] = 'categories-hidden';
104 }
105
106 // If tags option is unticked, add a class of 'tags-hidden' to the body.
107 if ( 1 !== (int) $tags_option && ! empty( $tags ) ) {
108 $classes[] = 'tags-hidden';
109 }
110
111 // If author option is unticked, add a class of 'author-hidden' to the body.
112 if ( 1 !== (int) $author_option && ! empty( $author ) ) {
113 $classes[] = 'author-hidden';
114 }
115
116 // If comment option is unticked, add a class of 'comment-hidden' to the body.
117 if ( 1 !== (int) $comment_option && ! empty( $comment ) ) {
118 $classes[] = 'comment-hidden';
119 }
120
121 return $classes;
122 }
123 add_filter( 'body_class', 'jetpack_post_details_body_classes' );
124
125 }
126
127 if ( ! function_exists( 'jetpack_post_details_should_run' ) ) {
128
129 /**
130 * Determines if Post Details should run.
131 *
132 * @deprecated 13.9 Moved to Classic Theme Helper package.
133 */
134 function jetpack_post_details_should_run() {
135 _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
136 // Empty value representing falsy return value.
137 $void = array( false, null, null, null );
138
139 // If the theme doesn't support 'jetpack-content-options', don't continue.
140 if ( ! current_theme_supports( 'jetpack-content-options' ) ) {
141 return $void;
142 }
143
144 $options = get_theme_support( 'jetpack-content-options' );
145 $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null;
146
147 // If the theme doesn't support 'jetpack-content-options[ 'post-details' ]', don't continue.
148 if ( empty( $post_details ) ) {
149 return $void;
150 }
151
152 $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null;
153 $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null;
154 $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null;
155 $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null;
156 $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null;
157
158 // If there is no stylesheet and there are no date, categories, tags, author or comment declared, don't continue.
159 if (
160 empty( $post_details['stylesheet'] )
161 && ( empty( $date )
162 || empty( $categories )
163 || empty( $tags )
164 || empty( $author )
165 || empty( $comment ) )
166 ) {
167 return $void;
168 }
169
170 $date_option = Jetpack_Options::get_option_and_ensure_autoload( 'jetpack_content_post_details_date', 1 );
171 $categories_option = Jetpack_Options::get_option_and_ensure_autoload( 'jetpack_content_post_details_categories', 1 );
172 $tags_option = Jetpack_Options::get_option_and_ensure_autoload( 'jetpack_content_post_details_tags', 1 );
173 $author_option = Jetpack_Options::get_option_and_ensure_autoload( 'jetpack_content_post_details_author', 1 );
174 $comment_option = Jetpack_Options::get_option_and_ensure_autoload( 'jetpack_content_post_details_comment', 1 );
175
176 $options = array( $date_option, $categories_option, $tags_option, $author_option, $comment_option );
177 $definied = array( $date, $categories, $tags, $author, $comment );
178
179 // If all the options are ticked, don't continue.
180 if ( array( 1, 1, 1, 1, 1 ) === $options ) {
181 return $void;
182 }
183
184 return array( true, $options, $definied, $post_details );
185 }
186
187 }
188