Post meta, get back "author"

Hi there,
on my blog page I customized the post meta three years ago - with your help :slight_smile: . I use:
Date / category / Leave a comment.
This is what my CSS looks like:
.p-meta>span:nth-child(1) {
display: none;
}

.p-meta > span::after {
content: “”;
}
Now I would like to get “author” back to the list, preferrably after “date”. Could you please tell me how to change my CSS? That would be really great.
Cheers
Karen

Hi Karen,

Please remove this part of the CSS to get back the author:

.p-meta>span:nth-child(1) {
display: none;
}

Now to change the position of author and date only, it cannot be done with CSS but rather using a child theme. Here’s the code for displaying meta information for integrity. Add it on your child theme functions.php file.

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

    //
    // Author.
    //

    $author = sprintf( '<span><i class="x-icon-pencil" data-x-icon-s="&#xf303;"></i> %s</span>',
      get_the_author()
    );


    //
    // Date.
    //

    $date = sprintf( '<span><time class="entry-date" datetime="%1$s"><i class="x-icon-calendar" data-x-icon-s="&#xf073;"></i> %2$s</time></span>',
      esc_attr( get_the_date( 'c' ) ),
      esc_html( get_the_date() )
    );


    //
    // Categories.
    //

    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 ) )
                              . '"><i class="x-icon-bookmark" data-x-icon-s="&#xf02e;"></i> '
                              . $category->name
                              . '</a>'
                              . $separator;
        }

        $categories_list = sprintf( '<span>%s</span>',
          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 ) )
                            . '"><i class="x-icon-bookmark" data-x-icon-s="&#xf02e;"></i> '
                            . $category->name
                            . '</a>'
                            . $separator;
      }

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


    //
    // Comments link.
    //

    if ( comments_open() ) {

      $title  = apply_filters( 'x_entry_meta_comments_title', get_the_title() );
      $link   = apply_filters( 'x_entry_meta_comments_link', get_comments_link() );
      $number = apply_filters( 'x_entry_meta_comments_number', get_comments_number() );

	    $text = ( 0 == $number ) ? __( 'Leave a Comment', '__x__' ) : sprintf( _n( '%s Comment', '%s Comments', $number, '__x__' ), $number );

$comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments"><i class="x-icon-comments" data-x-icon-s="&#xf086;"></i> %3$s</a></span>',
        esc_url( $link ),
        esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
        $text
      );

    } else {

      $comments = '';

    }


    //
    // Output.
    //

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

  }
endif;

Now to switch date and author, look for this part:

      printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>',
        $author,
        $date,
        $categories_list,
        $comments
      );

Change it to this:

      printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>',
        $date,
        $author,
        $categories_list,
        $comments
      );

This snippet should only serve as a guide or idea of how it can be done, but we don’t maintain or provide support to any custom code like this. Any changes or enhancement should be forwarded to your developer

Hi Lely,
thanks a lot! I’ll go for the simple way with CSS :slight_smile: that works fine.
One more question, is there a way of adding “by” to the author tag? (I mean: “By Name Name”)

Regards, Karen

Hi Karen,

To achieve that, please change this line of codes

 //
    // Author.
    //

    $author = sprintf( '<span><i class="x-icon-pencil" data-x-icon-s="&#xf303;"></i> %s</span>',
      get_the_author()
    );


with this

 //
    // Author.
    //

    $author = sprintf( '<span><i class="x-icon-pencil" data-x-icon-s="&#xf303;"></i> by %s</span>',
      get_the_author()
    );


Thanks

Hi Paul,
do I understand this right: no way to achive this with CSS, right?
I guess then things will work without the word “by”…

Thank you anyway!
Cheers Karen

Hi Karen,

Yes, you need to edit your code as mentioned above for such changes.

Thanks!

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