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 +98 -57 12.5.2 → 16.3-a.1 View file →
@@ -4,71 +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;
12 +if ( ! function_exists( 'jetpack_author_bio' ) ) {
20 13
21 - // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
22 - if ( true !== $author_bio ) {
23 - return;
24 - }
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 + }
25 25
26 - // If 'jetpack_content_author_bio' is false, don't continue.
27 - if ( ! get_option( 'jetpack_content_author_bio', $author_bio_default ) ) {
28 - return;
29 - }
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;
30 30
31 - // If we aren't on a single post, don't continue.
32 - if ( ! is_single() ) {
33 - return;
34 - }
35 - ?>
36 - <div class="entry-author">
37 - <div class="author-avatar">
38 - <?php
39 - /**
40 - * Filter the author bio avatar size.
41 - *
42 - * @param int $size The avatar height and width size in pixels.
43 - *
44 - * @module theme-tools
45 - *
46 - * @since 4.5.0
47 - */
48 - $author_bio_avatar_size = apply_filters( 'jetpack_author_bio_avatar_size', 48 );
31 + // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
32 + if ( true !== $author_bio ) {
33 + return;
34 + }
49 35
50 - echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
51 - ?>
52 - </div><!-- .author-avatar -->
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 + }
53 40
54 - <div class="author-heading">
55 - <h2 class="author-title">
41 + // If we aren't on a single post, don't continue.
42 + if ( ! is_single() ) {
43 + return;
44 + }
45 +
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">
56 56 <?php
57 - /* translators: %s: post author */
58 - 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 );
59 69 ?>
60 - </h2>
61 - </div><!-- .author-heading -->
70 + </div><!-- .author-avatar -->
71 + <?php endif; ?>
62 72
63 - <p class="author-bio">
64 - <?php the_author_meta( 'description' ); ?>
65 - <a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
66 - <?php
67 - /* translators: %s: post author */
68 - printf( esc_html__( 'View all posts by %s', 'jetpack' ), get_the_author() );
69 - ?>
70 - </a>
71 - </p><!-- .author-bio -->
72 - </div><!-- .entry-auhtor -->
73 - <?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 +
95 +}
96 +
97 +if ( ! function_exists( 'jetpack_has_gravatar' ) ) {
98 +
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 );
110 +
111 + // If 200 is found, the user has a Gravatar; otherwise, they don't.
112 + return str_contains( $headers[0], '200' );
113 + }
114 +
74 115 }