PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.1
16.3-a.3 16.3-a.1 16.2 16.2-beta 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 All 504 releases
← All changes | modules/theme-tools/content-options/author-bio.php +93 -77 13.5.216.3-a.1 View file →
@@ -4,96 +4,112 @@
4 4 *
5 5 * @package automattic/jetpack
6 6 */
7 7
8 -/**
9 - * The function to display Author Bio in a theme.
10 - */
11 -function jetpack_author_bio() {
12 - // If the theme doesn't support 'jetpack-content-options', don't continue.
13 - if ( ! current_theme_supports( 'jetpack-content-options' ) ) {
14 - return;
15 - }
8 +if ( ! defined( 'ABSPATH' ) ) {
9 + exit( 0 );
10 +}
16 11
17 - $options = get_theme_support( 'jetpack-content-options' );
18 - $author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null;
19 - $author_bio_default = ( isset( $options[0]['author-bio-default'] ) && false === $options[0]['author-bio-default'] ) ? '' : 1;
20 - $avatar_default = ( isset( $options[0]['avatar-default'] ) && false === $options[0]['avatar-default'] ) ? '' : 1;
12 +if ( ! function_exists( 'jetpack_author_bio' ) ) {
21 13
22 - // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
23 - if ( true !== $author_bio ) {
24 - return;
25 - }
14 + /**
15 + * The function to display Author Bio in a theme.
16 + *
17 + * @deprecated 13.9 Moved to Classic Theme Helper package.
18 + */
19 + function jetpack_author_bio() {
20 + _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
21 + // If the theme doesn't support 'jetpack-content-options', don't continue.
22 + if ( ! current_theme_supports( 'jetpack-content-options' ) ) {
23 + return;
24 + }
26 25
27 - // If 'jetpack_content_author_bio' is false, don't continue.
28 - if ( ! get_option( 'jetpack_content_author_bio', $author_bio_default ) ) {
29 - return;
30 - }
26 + $options = get_theme_support( 'jetpack-content-options' );
27 + $author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null;
28 + $author_bio_default = ( isset( $options[0]['author-bio-default'] ) && false === $options[0]['author-bio-default'] ) ? '' : 1;
29 + $avatar_default = ( isset( $options[0]['avatar-default'] ) && false === $options[0]['avatar-default'] ) ? '' : 1;
31 30
32 - // If we aren't on a single post, don't continue.
33 - if ( ! is_single() ) {
34 - return;
35 - }
31 + // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
32 + if ( true !== $author_bio ) {
33 + return;
34 + }
36 35
37 - // Define class for entry-author.
38 - if ( ! $avatar_default && ! jetpack_has_gravatar( get_the_author_meta( 'user_email' ) ) ) {
39 - $class = 'author-avatar-hide';
40 - } else {
41 - $class = 'author-avatar-show';
42 - }
43 - ?>
44 - <div class="entry-author <?php echo esc_attr( $class ); ?>">
45 - <?php if ( 'author-avatar-show' === $class ) : ?>
46 - <div class="author-avatar">
47 - <?php
48 - /**
49 - * Filter the author bio avatar size.
50 - *
51 - * @param int $size The avatar height and width size in pixels.
52 - *
53 - * @module theme-tools
54 - *
55 - * @since 4.5.0
56 - */
57 - $author_bio_avatar_size = apply_filters( 'jetpack_author_bio_avatar_size', 48 );
36 + // If 'jetpack_content_author_bio' is false, don't continue.
37 + if ( ! get_option( 'jetpack_content_author_bio', $author_bio_default ) ) {
38 + return;
39 + }
58 40
59 - echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
60 - ?>
61 - </div><!-- .author-avatar -->
62 - <?php endif; ?>
41 + // If we aren't on a single post, don't continue.
42 + if ( ! is_single() ) {
43 + return;
44 + }
63 45
64 - <div class="author-heading">
65 - <h2 class="author-title">
46 + // Define class for entry-author.
47 + if ( ! $avatar_default && ! jetpack_has_gravatar( get_the_author_meta( 'user_email' ) ) ) {
48 + $class = 'author-avatar-hide';
49 + } else {
50 + $class = 'author-avatar-show';
51 + }
52 + ?>
53 + <div class="entry-author <?php echo esc_attr( $class ); ?>">
54 + <?php if ( 'author-avatar-show' === $class ) : ?>
55 + <div class="author-avatar">
66 56 <?php
67 - /* translators: %s: post author */
68 - printf( esc_html__( 'Published by %s', 'jetpack' ), '<span class="author-name">' . get_the_author() . '</span>' );
57 + /**
58 + * Filter the author bio avatar size.
59 + *
60 + * @param int $size The avatar height and width size in pixels.
61 + *
62 + * @module theme-tools
63 + *
64 + * @since 4.5.0
65 + */
66 + $author_bio_avatar_size = apply_filters( 'jetpack_author_bio_avatar_size', 48 );
67 +
68 + echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
69 69 ?>
70 - </h2>
71 - </div><!-- .author-heading -->
70 + </div><!-- .author-avatar -->
71 + <?php endif; ?>
72 72
73 - <p class="author-bio">
74 - <?php the_author_meta( 'description' ); ?>
75 - <a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
76 - <?php
77 - /* translators: %s: post author */
78 - printf( esc_html__( 'View all posts by %s', 'jetpack' ), get_the_author() );
79 - ?>
80 - </a>
81 - </p><!-- .author-bio -->
82 - </div><!-- .entry-auhtor -->
83 - <?php
73 + <div class="author-heading">
74 + <h2 class="author-title">
75 + <?php
76 + /* translators: %s: post author */
77 + printf( esc_html__( 'Published by %s', 'jetpack' ), '<span class="author-name">' . get_the_author() . '</span>' );
78 + ?>
79 + </h2>
80 + </div><!-- .author-heading -->
81 +
82 + <p class="author-bio">
83 + <?php the_author_meta( 'description' ); ?>
84 + <a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
85 + <?php
86 + /* translators: %s: post author */
87 + printf( esc_html__( 'View all posts by %s', 'jetpack' ), get_the_author() );
88 + ?>
89 + </a>
90 + </p><!-- .author-bio -->
91 + </div><!-- .entry-author -->
92 + <?php
93 + }
94 +
84 95 }
85 96
86 -/**
87 - * Checks to see if the specified email address has a Gravatar image.
88 - *
89 - * @param string $email The email of the address of the user to check.
90 - * @return bool Whether or not the user has a gravatar
91 - */
92 -function jetpack_has_gravatar( $email ) {
97 +if ( ! function_exists( 'jetpack_has_gravatar' ) ) {
93 98
94 - $url = get_avatar_url( $email, array( 'default' => '404' ) );
95 - $headers = get_headers( $url );
99 + /**
100 + * Checks to see if the specified email address has a Gravatar image.
101 + *
102 + * @deprecated 13.9 Moved to Classic Theme Helper package.
103 + * @param string $email The email of the address of the user to check.
104 + * @return bool Whether or not the user has a gravatar
105 + */
106 + function jetpack_has_gravatar( $email ) {
107 + _deprecated_function( __FUNCTION__, 'jetpack-13.9' );
108 + $url = get_avatar_url( $email, array( 'default' => '404' ) );
109 + $headers = get_headers( $url );
96 110
97 - // If 200 is found, the user has a Gravatar; otherwise, they don't.
98 - return preg_match( '|200|', $headers[0] ) ? true : false;
111 + // If 200 is found, the user has a Gravatar; otherwise, they don't.
112 + return str_contains( $headers[0], '200' );
113 + }
114 +
99 115 }