Skip to content

Instantly share code, notes, and snippets.

@BinaryMoon
Created September 2, 2016 20:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BinaryMoon/71583344c3eead674bca9a917bd86397 to your computer and use it in GitHub Desktop.
Save BinaryMoon/71583344c3eead674bca9a917bd86397 to your computer and use it in GitHub Desktop.
Alternate version of author-bio.php - allows the ability to add a function as a callback for the author bio layout
<?php
/**
* The function to display Author Bio in a theme.
*/
function jetpack_author_bio() {
// If the theme doesn't support 'jetpack-content-options', don't continue.
if ( ! current_theme_supports( 'jetpack-content-options' ) ) {
return;
}
$options = get_theme_support( 'jetpack-content-options' );
$author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null;
// If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue.
if ( false === $author_bio ) {
return;
}
// If 'jetpack_content_author_bio' is false and we aren't in the customizer, don't continue.
if ( ! get_option( 'jetpack_content_author_bio', 1 ) && ! is_customize_preview() ) {
return;
}
// If we aren't on a single post, don't continue.
if ( ! is_single() ) {
return;
}
// If parameter is a callback function then execute that and leave.
// Otherwise use the default layout.
if ( function_exists( $author_bio ) ) {
call_user_func( $author_bio );
return;
}
?>
<div class="entry-author">
<div class="author-avatar">
<?php
/**
* Filter the author bio avatar size.
*
* @param int $size The avatar height and width size in pixels.
*/
$author_bio_avatar_size = apply_filters( 'jetpack_author_bio_avatar_size', 48 );
echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
?>
</div><!-- .author-avatar -->
<div class="author-heading">
<h2 class="author-title"><?php printf( esc_html__( 'Published by %s', 'jetpack' ), '<span class="author-name">' . get_the_author() . '</span>' ); ?></h2>
</div><!-- .author-heading -->
<p class="author-bio">
<?php the_author_meta( 'description' ); ?>
<a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<?php printf( esc_html__( 'View all posts by %s', 'jetpack' ), get_the_author() ); ?>
</a>
</p><!-- .author-bio -->
</div><!-- .entry-auhtor -->
<?php
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment