PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 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 All 508 releases
← All changes | modules/theme-tools/content-options/author-bio.php +115 -0 16.2-beta → 16.3 View file →
@@ -1,0 +1,115 @@
1 +<?php
2 +/**
3 + * Theme Tools: Author Bio functions.
4 + *
5 + * @package automattic/jetpack
6 + */
7 +
8 +if ( ! defined( 'ABSPATH' ) ) {
9 + exit( 0 );
10 +}
11 +
12 +if ( ! function_exists( 'jetpack_author_bio' ) ) {
13 +
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 +
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 +
31 + // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
32 + if ( true !== $author_bio ) {
33 + return;
34 + }
35 +
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 + }
40 +
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 + <?php
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 + ?>
70 + </div><!-- .author-avatar -->
71 + <?php endif; ?>
72 +
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 +
115 +}