Change Blog Post Meta "Leave a comment" Link

Hey there,

I want to change the anchor of the “Leave a comment” link in the Blog meta description.

Is it possible to redirect it directly to the facebook comments section below the post on every blog post?

Regards,

Gino Lazzaro

Hello There,

Thanks for writing in! This thread is related to your other thread which we already have responded.
Please check it here:

Hope this helps.

Not really. I want to change the anchor tag.

The anchor point is called “#respond
That wouldn’t change through the translation.
So again: how do I change this anchor point so that it automatically scrolls down to the Facebook comments plugin?

Regards,

Gino Lazzaro

Hi Gino,

To achieve that, you can add the code below in your child theme’s functions.php file.

function x_renew_entry_meta() {
    //
    // Author.
    //
    $author = sprintf( '<span>%s</span>',
      get_the_author()
    );
    //
    // 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>%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 ) )
                            . '">'
                            . $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   = '#respond';
      $number = apply_filters( 'x_entry_meta_comments_number', get_comments_number() );
      
      $text = ( 0 == $number ) ? 'Leave a Comment' : sprintf( _n( '%s Comment', '%s Comments', $number, '__x__' ), $number );
      $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments">%3$s</a></span>',
        $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
      );
    }
  }

Hope that helps.

Hey Paul,

I added this to the funcitons.php file and renamed the “leave a comment” etc. fields to the German translation. But how do I automatically add an anchor point to the facebook comments section on every post, so that I do not have to manually add the anchor every time?

Regards,

Gino Lazzaro

Hi Gino,

From the code suggested on the previous reply, look for the following line:
$link = '#respond';
Change it to this:
$link = '#comments';

Hope this helps.

Yes that did help! On mobile however it scrolls a bit too far. Is there any way to change that?

Regards,

Gino Lazzaro

Hey Gino,

Thanks for updating in! This issue happen because the header is fixed. To resolve this issue, please add this JS code in the Theme Options > Global JS (http://prntscr.com/evswzb) or in the customizer, Appearance > Customize > Custom > Edit GLOBAL Javascript

jQuery( function($){
  $(document).on('click', 'a[href^="#"]',  function( e ) {
    e.stopPropagation();
    var navbarH = $('.x-navbar').height();
    $('html, body').stop().animate( { 
      scrollTop : $( $(this).attr('href') ).offset().top - navbarH  }, 'linear' 
    );
  });
});

Hope this helps. Kindly let us know.

Perfect, Thanks!

You’re most welcome!

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