Instagram missing from author bio

Hi there,

I’ve added an author bio to the end of all blog posts, and the social icons are working for Facebook and Twitter, but they do not work for any of the other social media platforms (such as Pinterest or Instagram).

I’ve used the code:

add_action( ‘x_after_the_content_end’, ‘add_to_single_posts’ );
function add_to_single_posts() {
if ( is_singular( ‘post’ ) ) {
echo do_shortcode( ‘[author title=“About the Author”]’ );
}
}

Here is an example: https://itsnotcomplicatedrecipes.com/spicy-roasted-almonds/ (scroll to the bottom for author bio)

Are you able to help me get the icons showing for the rest of the socials?

Warm,

Dana

Hi Dana,

Unfortunately, those social icons are not available by default on that shortcode. You can see the shortcode content here:
wp-content/plugins/cornerstone/includes/shortcodes/author.php

To add it on the shortcode, you might copy the code on your child theme functions.php and adjust to add the custom icons. If you are not sure how to do it, it would be best to consult a developer.

Thank you! I was able to add it into the author.php file.

It’s been a while since I’ve done customization outside of the functions.php file, so would I need to add the author.php file to my child theme, and if so, do I just create a file called “author.php” within my child theme?

Hello @dkolba,

You do not have to add any file in your child theme. Once your child theme is ready, simply ad the following code in your child theme’s functions.php file:

// Custom Author Shortcode
// =============================================================================
function x_shortcode_author_v2( $atts ) {
  extract( shortcode_atts( array(
    'id'        => '',
    'class'     => '',
    'style'     => '',
    'title'     => '',
    'author_id' => ''
  ), $atts, 'x_author' ) );

  $id        = ( $id        != '' ) ? 'id="' . esc_attr( $id ) . '"' : '';
  $class     = ( $class     != '' ) ? 'x-author-box cf ' . esc_attr( $class ) : 'x-author-box cf';
  $style     = ( $style     != '' ) ? 'style="' . $style . '"' : '';
  $title     = ( $title     != '' ) ? $title : csi18n('shortcodes.author-title');
  $author_id = ( $author_id != '' ) ? $author_id : get_the_author_meta( 'ID' );

  $description  = get_the_author_meta( 'description', $author_id );
  $display_name = get_the_author_meta( 'display_name', $author_id );
  $facebook     = get_the_author_meta( 'facebook', $author_id );
  $twitter      = get_the_author_meta( 'twitter', $author_id );
  $googleplus   = get_the_author_meta( 'googleplus', $author_id );

  $facebook_title   = sprintf( __('Visit the Facebook Profile for %s', 'cornerstone'), $display_name);
  $twitter_title    = sprintf( __('Visit the Twitter Profile for %s', 'cornerstone'), $display_name);
  $googleplus_title = sprintf( __('Visit the Google+ Profile for %s', 'cornerstone'), $display_name);

  $target = cs_output_target_blank(false);

  $facebook_output   = ( $facebook )   ? "<a href=\"{$facebook}\" class=\"x-author-social\" title=\"{$facebook_title}\" $target ><i class=\"x-icon-facebook-square\" " . fa_data_icon('facebook') . "></i> Facebook</a>" : '';
  $twitter_output    = ( $twitter )    ? "<a href=\"{$twitter}\" class=\"x-author-social\" title=\"{$twitter_title}\" $target ><i class=\"x-icon-twitter-square\" " . fa_data_icon('twitter-square') . "></i> Twitter</a>" : '';
  $googleplus_output = ( $googleplus ) ? "<a href=\"{$googleplus}\" class=\"x-author-social\" title=\"{$googleplus_title}\" $target ><i class=\"x-icon-google-plus-square\" " . fa_data_icon('google-plus-square') . "></i> Google+</a>" : '';

  $output = "<div {$id} class=\"{$class}\" {$style}>"
            . "<h6 class=\"h-about-the-author\">{$title}</h6>"
            . get_avatar( $author_id, 180 )
            . '<div class="x-author-info">'
              . "<h4 class=\"h-author mtn\">{$display_name}</h4>"
                . $facebook_output
                . $twitter_output
                . $googleplus_output
              . "<p class=\"p-author mbn\">{$description}</p>"
            . '</div>'
          . '</div>';

  return $output;
}


add_filter('wp_head', 'no_follow_author');
function no_follow_author() {
  remove_shortcode( 'x_author' );  
  add_shortcode( 'x_author', 'x_shortcode_author_v2' );
}
// =============================================================================

Please do not forget to add your modifications as well.

Thank you.

And does this shortcode change if I am adding in the above code (I see it is “x_shortcode_author_v2” instead of “x_shortcode_author”):

// Author Field below the post content - Single page only.
// =============================================================================

add_action( 'x_after_the_content_end', 'add_to_single_posts' );
function add_to_single_posts() {
	if ( is_singular( 'post' ) ) {
		echo do_shortcode( '[author title="About the Author"]' ); 
	}
}

Or does that stay the same within my functions.php?

Thank you for all your help!

Hello @dkolba,

Yes, you should use x_shortcode_author_v2 because x_shortcode_author function already exist and it will cause an error if there are duplicate functions.

As for the placement of the code, it does not matter which comes before or after as long as there is no syntax error.

Hope this helps.

Thank you.

I’m still unsure what I am to change in the following shortcode so that it calls x_shortcode_author_v2.

Can you please point out what needs to be changed in the following code?:

add_action( ‘x_after_the_content_end’, ‘add_to_single_posts’ );
function add_to_single_posts() {
if ( is_singular( ‘post’ ) ) {
echo do_shortcode( ‘[author title=“About the Author”]’ );
}
}

Hey @dkolba,

Sorry for the confusion. You should update your code and use this:

// Custom Author Shortcode
// =============================================================================
function x_shortcode_author_v2( $atts ) {
  extract( shortcode_atts( array(
    'id'        => '',
    'class'     => '',
    'style'     => '',
    'title'     => '',
    'author_id' => ''
  ), $atts, 'x_author' ) );

  $id        = ( $id        != '' ) ? 'id="' . esc_attr( $id ) . '"' : '';
  $class     = ( $class     != '' ) ? 'x-author-box cf ' . esc_attr( $class ) : 'x-author-box cf';
  $style     = ( $style     != '' ) ? 'style="' . $style . '"' : '';
  $title     = ( $title     != '' ) ? $title : csi18n('shortcodes.author-title');
  $author_id = ( $author_id != '' ) ? $author_id : get_the_author_meta( 'ID' );

  $description  = get_the_author_meta( 'description', $author_id );
  $display_name = get_the_author_meta( 'display_name', $author_id );
  $facebook     = get_the_author_meta( 'facebook', $author_id );
  $twitter      = get_the_author_meta( 'twitter', $author_id );
  $googleplus   = get_the_author_meta( 'googleplus', $author_id );

  $facebook_title   = sprintf( __('Visit the Facebook Profile for %s', 'cornerstone'), $display_name);
  $twitter_title    = sprintf( __('Visit the Twitter Profile for %s', 'cornerstone'), $display_name);
  $googleplus_title = sprintf( __('Visit the Google+ Profile for %s', 'cornerstone'), $display_name);

  $target = cs_output_target_blank(false);

  $facebook_output   = ( $facebook )   ? "<a href=\"{$facebook}\" class=\"x-author-social\" title=\"{$facebook_title}\" $target ><i class=\"x-icon-facebook-square\" " . fa_data_icon('facebook') . "></i> Facebook</a>" : '';
  $twitter_output    = ( $twitter )    ? "<a href=\"{$twitter}\" class=\"x-author-social\" title=\"{$twitter_title}\" $target ><i class=\"x-icon-twitter-square\" " . fa_data_icon('twitter-square') . "></i> Twitter</a>" : '';
  $googleplus_output = ( $googleplus ) ? "<a href=\"{$googleplus}\" class=\"x-author-social\" title=\"{$googleplus_title}\" $target ><i class=\"x-icon-google-plus-square\" " . fa_data_icon('google-plus-square') . "></i> Google+</a>" : '';

  $output = "<div {$id} class=\"{$class}\" {$style}>"
            . "<h6 class=\"h-about-the-author\">{$title}</h6>"
            . get_avatar( $author_id, 180 )
            . '<div class="x-author-info">'
              . "<h4 class=\"h-author mtn\">{$display_name}</h4>"
                . $facebook_output
                . $twitter_output
                . $googleplus_output
              . "<p class=\"p-author mbn\">{$description}</p>"
            . '</div>'
          . '</div>';

  return $output;
}


add_filter('wp_head', 'no_follow_author');
function no_follow_author() {
  remove_shortcode( 'x_author' );  
  remove_shortcode( 'author' ); 
  add_shortcode( 'x_author', 'x_shortcode_author_v2' );
  add_shortcode( 'author', 'x_shortcode_author_v2' );
}
// =============================================================================

Or this code:

// Author Field below the post content - Single page only.
// =============================================================================

add_action( 'x_after_the_content_end', 'add_to_single_posts' );
function add_to_single_posts() {
	if ( is_singular( 'post' ) ) {
		echo do_shortcode( '[x_author title="About the Author"]' ); 
	}
}

The shortcode is [x_author] and in your code, it is only [author].

We would love to know if this has worked for you. Thank you.

1 Like

That’s perfect. Thank you!

You’re welcome!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.