Blog post meta, clickable author link?

I would like the blog post author meta to be a clickable link, leading to their author archive page. How can I accomplish this? I am using X Pro. Cheers!

Hi @adaptifyDesigns,

It depends on which stack you use. Please go to Pro > Theme Options > Stack and see which stack you use. Then please install the Child Theme if you haven’t yet and add the code below to functions.php file of the Child Theme.

The code below assumes that you use the Ethos stack. Get back to us with the URL and the stack that you use in a case that you use another one.

if ( ! function_exists( 'x_ethos_entry_meta' ) ) :
  function x_ethos_entry_meta() {

    $author = ' by <a href="'.  get_bloginfo('url').'/author/'.get_the_author_link().'">'.get_the_author().'</a></span>';

    $date = sprintf( '<span><time class="entry-date" datetime="%1$s">%2$s</time></span>',
      esc_attr( get_the_date( 'c' ) ),
      esc_html( get_the_date() )
    );

    if ( get_post_type() == 'x-portfolio' ) {
      if ( has_term( '', 'portfolio-category', NULL ) ) {
        $categories        = get_the_terms( get_the_ID(), 'portfolio-category' );
        $separator         = ', ';
        $categories_output = '';
        foreach ( $categories as $category ) {
          $categories_output .= '<a href="'
                              . get_term_link( $category->slug, 'portfolio-category' )
                              . '" title="'
                              . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                              . '"> '
                              . $category->name
                              . '</a>'
                              . $separator;
        }

        $categories_list = sprintf( '<span>In %s',
          trim( $categories_output, $separator )
        );
      } else {
        $categories_list = '';
      }
    } else {
      $categories        = get_the_category();
      $separator         = ', ';
      $categories_output = '';
      foreach ( $categories as $category ) {
        $categories_output .= '<a href="'
                            . get_category_link( $category->term_id )
                            . '" title="'
                            . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                            . '"> '
                            . $category->name
                            . '</a>'
                            . $separator;
      }

      $categories_list = sprintf( '<span>In %s',
        trim( $categories_output, $separator )
      );
    }

    if ( comments_open() ) {
      $title  = get_the_title();
      $link   = get_comments_link();
      $number = get_comments_number();
      if ( $number == 0 ) {
        $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments">%3$s</a></span>',
          esc_url( $link ),
          esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
          __( 'Leave a Comment' , '__x__' )
        );
      } else if ( $number == 1 ) {
        $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments">%3$s</a></span>',
          esc_url( $link ),
          esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
          $number . ' ' . __( 'Comment' , '__x__' )
        );
      } else {
        $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments">%3$s</a></span>',
          esc_url( $link ),
          esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
          $number . ' ' . __( 'Comments' , '__x__' )
        );
      }
    } else {
      $comments = '';
    }

    $post_type           = get_post_type();
    $post_type_post      = $post_type == 'post';
    $post_type_portfolio = $post_type == 'x-portfolio';
    $no_post_meta        = x_get_option( 'x_blog_enable_post_meta' ) == 0;
    $no_portfolio_meta   = x_get_option( 'x_portfolio_enable_post_meta' ) == 0;

    if ( $post_type_post && $no_post_meta || $post_type_portfolio && $no_portfolio_meta ) {
      return;
    } else {
      printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>',
        $categories_list,
        $author,
        $date,
        $comments
      );
    }

  }
endif;

As a reminder, your request is a customization one which is outside of our support scope. We will do our best to help you imlement the feature but we will not be able to implement it for you.

Thank you.

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