Hiding Author and some text in Blog Index

Hello!

In the blog index page (Ethos user here), for every single post the displayed meta is " In [category] by [Author] / [Date]" but I need to change it in " [Category] / [Date] ".

While browsing your forum I found a post whit this suggestion:

// Custom Ethos Entry Meta
// =============================================================================

if ( ! function_exists( ‘x_ethos_entry_meta’ ) ) :
function x_ethos_entry_meta() {

//
// Author.
//

$author = sprintf( ' %1$s %2$s</span>',
  __( 'by', '__x__' ),
  get_the_author()
);


//
// Output.
//

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

}
endif;

Now, this piece of code hides everything but Author but the idea is there :smiley:
How can I modify it to my needs?

Thanks

P.S.
How can I correctly paste some code in a topic? :smiley:

Hey Fabio,

Please try this code:

// Entry Meta
// =============================================================================

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

    //
    // Date.
    //

    $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() )
    );


    //
    // 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 ) )
                              . '"> '
                              . $category->name
                              . '</a>'
                              . $separator;
        }

        $categories_list = sprintf( '<span>%1$s %2$s',
          __( 'In', '__x__' ),
          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>%1$s %2$s',
        __( 'In', '__x__' ),
        trim( $categories_output, $separator )
      );
    }

    //
    // Output.
    //

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

  }
endif;

Kindly note that since this is a custom code that changes the default behavior/display of the theme, you will be responsible to maintain or update the code in case you require further changes or if the code stops working in future updates. If you are uncertain how to proceed, it would be best to get in touch with a developer.

Hope this helps.

Thanks, we are almost there!

This is the meta output without your code:

This is the output after you code was applied:

Can we remove the “In” and add back the “/” between the category and the date?

Hello Fabio,

Look for this part:

 $categories_list = sprintf( '<span>%1$s %2$s',
        __( 'In', '__x__' ),
        trim( $categories_output, $separator )
      );

Update to this:

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

Look for this too:

    $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() )
    );

Update to this:

    $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() )
    );

Hope this helps.

Terrific! Thank you very much!

You’re welcome, Fabio.

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