我正在尝试将评论作者姓名链接到网站 url/profile/author 用户名

Posted

技术标签:

【中文标题】我正在尝试将评论作者姓名链接到网站 url/profile/author 用户名【英文标题】:I am trying to link the comment author name to site url/profile/author username 【发布时间】:2020-01-31 12:44:17 【问题描述】:

我正在建立一个 wordpress 网站,用户可以在其中根据用户角色发表评论。 我想将评论作者的姓名链接到他们的个人资料页面(site url/profile/username)

我对 php 的了解几乎是 0,而且我对 CSS 有一点了解。我在我的子主题function.php 中尝试了几个不同的代码 sn-ps,但它们似乎都不能正常工作。 下面的 sn-p 例如,仅将评论作者姓名链接到站点 url/profile/user ID,但我希望它是站点 url/profile/username

function force_comment_author_url($comment)

    // does the comment have a valid author URL?
    $no_url = !$comment->comment_author_url || $comment->comment_author_url == 'http://';

    if ($comment->user_id && $no_url) 
        // comment was written by a registered user but with no author URL
        $comment->comment_author_url = 'http://www.founderslair.com/profile/' . $comment->user_id;
    
    return $comment;

add_filter('get_comment', 'force_comment_author_url');

我希望得到用户名而不是用户 ID。我在 sn-p 中尝试了一些更改,但似乎没有任何效果。我想知道我做错了什么以及我可以做些什么来改进它。 提前致谢。

【问题讨论】:

【参考方案1】:

您可以使用内置的get_userdata 函数来查找评论作者用户名。我已经解释了在 cmets 中添加的编码作为后缀。

function force_comment_author_url($comment)

    // does the comment have a valid author URL?
    $no_url = !$comment->comment_author_url || $comment->comment_author_url == 'http://';

    if ($comment->user_id && $no_url) 
        
        $c_userdata = get_userdata( $comment->user_id ); // Add - Get the userdata from the get_userdata() function and store in the variable c_userdata
        $c_username = $c_userdata->user_login; // Add - Get the name from the $c_userdata

        // comment was written by a registered user but with no author URL
        $comment->comment_author_url = 'http://www.founderslair.com/profile/' . $c_username; // Replace - user_id with username variable.
    
    return $comment;

add_filter('get_comment', 'force_comment_author_url');

【讨论】:

非常感谢您的帮助,它现在正在工作!我只需要用 user_login 更改 display_name 以获得用户名而不是全名。感谢您的宝贵时间。 很高兴我能帮上忙 :) 是的,该页面有很多有用的价值可供使用。这个问题似乎你试图显示作者姓名:) 工作就像一个魅力,感谢拯救我的一天。

以上是关于我正在尝试将评论作者姓名链接到网站 url/profile/author 用户名的主要内容,如果未能解决你的问题,请参考以下文章

链接建设初学者指南(第2章 如何建立链接)

链接建设初学者指南(第2章 如何建立链接)

如何强制将审阅者姓名输入到 SVN 提交评论中

尝试将社交媒体链接添加到 Drupal 网站

如何在链接的Jira问题之间复制评论?

laravel 关系模型如何通过帖子模型在评论模型中获取作者姓名