我正在尝试将评论作者姓名链接到网站 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 用户名的主要内容,如果未能解决你的问题,请参考以下文章