使用COMMENT_REPLY_LINK_ARGS过滤器

时间:2021-07-15 作者:Honoluluman

我正在尝试创建这样的过滤器

add_filter(\'comment_reply_link_args\',\'change_author_title\');
function change_author_title( $args ) {
  $defaults = array(
        \'add_below\'     => \'comment\',
        \'respond_id\'    => \'respond\',
        \'reply_text\'    => __( \'Reply\' ),
        /* translators: Comment reply button text. %s: Comment author name. */
        \'reply_to_text\' => __( \'THIS TEXT\' ),
        \'login_text\'    => __( \'Log in to Reply\' ),
        \'max_depth\'     => 0,
        \'depth\'         => 0,
        \'before\'        => \'\',
        \'after\'         => \'\',
    );

    $args = wp_parse_args( $args, $defaults );
    return $args;
}

What i actually need is to filter the \'reply_to_text\' from the $defaults array.

这背后的原因是我用get\\u comment\\u author创建了一个过滤器

add_filter(\'get_comment_author\', \'my_comment_author\', 10, 2);
function my_comment_author( $author, $comment_ID ) {
    if (! is_admin()) {
    // Get the comment ID from WP_Query
    $comment = get_comment( $comment_ID );
    $authoremail = get_comment_author_email( $comment); 
    $user = get_user_by( \'email\', $comment->comment_author_email );

    if (! email_exists($authoremail)) {
        if(mb_strlen($comment->comment_author, \'UTF-8\')>13){
        $author = mb_substr($comment->comment_author,0,13, \'UTF-8\').\'.\'; }
    } else {
        if( ! empty( $user->first_name ) ){
        $author = $user->first_name;  }
        else {
        return $author;  }
    } }

    return $author;
}
我想在$defaults数组“reply\\u to\\u text”中传递相同的输出。

谁能给我小费吗?

非常感谢。

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

你是说,像这样的?

add_filter( \'comment_reply_link_args\', \'change_author_title\', 10, 2 );
function change_author_title( $args, $comment ) {
    $args[\'reply_to_text\'] = \'Reply to \' . get_comment_author( $comment );
    return $args;
}
说明:我更改了函数声明,以便它接受second parameter ($comment) 哪个是注释对象(aWP_Comment 实例),然后我只需调用get_comment_author() 激发了get_comment_author 钩那样的话,你的my_comment_author() 函数将被调用,然后您将获得与reply_to_text 参数。