0

I need to put the name of the author who wrote the post and I can't find the solution.

EXAMPLE:

Rachel [06/03/21] : Commented in the post "How to be a Web Designer", written by: POSTAGE AUTHOR - Test Comment

<?php
    $args = array(
        'user_id' => bp_current_user_id(),
        'number' => 20, // how many comments to retrieve
        'status' => 'approve'
        );

    $comments = get_comments( $args );

    if ( $comments )
    {
        $output.= "<ul>\n";
        foreach ( $comments as $c )
        { 
        $output.= '<li>';
        $output.= $c->comment_author;
        $output.= ' [';
        $output.= mysql2date('d/m/y', $c->comment_date, $translate);
        $output.= '] ';
        $output.= ' : ';
        $output.= '<a href="'.get_comment_link( $c->comment_ID ).'">';
        $output.= get_the_title($c->comment_post_ID);
        $output.= "</a>";
        $output.= ' - ';
        $output.= $comment->user_id;
        $output.= $c->comment_content;
        $output.= "</li>\n";
        
        }
        $output.= '</ul>';

        echo $output;
        
        
    } else { echo "No comments made";}
?>
0

1 Answer 1

0

Not sure it's the shortest way, but it works)

Get post author id

$post_author_id = get_post_field( 'post_author', $c->comment_post_ID );

Get author data by id

$post_author_display_name = get_the_author_meta( 'display_name', $post_author_id );

Try this shorter version

$output.= get_the_author_meta( 'display_name', get_post_field( 'post_author', $c->comment_post_ID ) );

Check documentation page which data is available with get_the_author_meta()

3
  • Thank you Anton! It worked great! Commented Jun 4, 2021 at 15:33
  • Glad it helped you. Approve this answer if your problem is solved, please. It will remove your question from unanswered list. Thanks)
    – anton
    Commented Jun 4, 2021 at 15:51
  • Hello Anton! Thank you again. Can you help me with this issue? wordpress.stackexchange.com/questions/390145/… Commented Jun 5, 2021 at 0:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.