!
也想出现在这里? 联系我们
广告位

WordPress强制调用用户昵称作为评论作者的名字

默认情况下,在 WordPress 评论中,对于登录用户发表的评论,会使用“公开显示为”(display_name)字段的值作为用户的显示名称。如果用户不能修改/或者没有修改这个“公开显示p L | ( $ \为”选项,就会显示用户的登录名(user_login)。

如果我们希望强制采用“昵称 nickname”作为评论作者的用户名称,该怎么办呢?下面我们将9 s Z 3 e m + n分析思路详细说一下,想直n 6 c s Z接用代码的就看最后的代码片段即可。

通过检查发现,评论作者的名字和链接@ x u部分是通过 get_comment_author_link()函数输出的,代码如下:@ 9 @ a Y M @ t

  1. funcS 5 * D . L / ~tion get_comment_authop Y . b @ kr_link( $comment~ / X ^ $_ID = 0 ) {
  2. $8 W ; : p acomment = get_comment( $comment_ID );
  3. $url = get_coq B : s : ` )mment_` % v x D : Jauthor_url( $comment )d y R q : O;
  4. $Y F u 1 , I `author = get_co0 e y e u = Y xmment_author( $comment );
  5. if ( empty( $url ) || 'http://' == $url ) {
  6. $return = $author;
  7. } else {
  8. $return = "<a href='https://www.22vd.com/$url' rel='external noD - ~ I X _ ` Yfollow ugc' class='url'>$author</a>";
  9. }
  10. /**
  11. * Filters the comment author's link for display.
  12. *
  13. * @since 1.5L n L.0
  14. * @since 4.1.0 The `$author` and `$comment_ID` paw g U [ z % K k Arameters were added.
  15. *
  16. * @param string $return The HTML-formatted comment author link~ r Q : A.
  17. * Empty for an invalid URL.
  18. * @param string $author The comment author's username.
  19. * @\ ` Zparam int $comment_ID The comment ID.
  20. */
  21. return apply_filters( '( Q h Fget_comment_author_li& 0 e *nk', $re8 P - . Gturn, $author, $comment->comment_ID );
  22. }

在代码的第 4Q - 5 G W f M Y 行,我们可以看到 $author = geD 4 Bt_comment_author( $comment );来获取评A H D论作者名称,接着看 geS R A R p zt_comment_author() 函数的代码:

  1. function( U 0 w E 4 ; Q get_comment_^ ( 9 ! yauthor( $comment_ID = 0 ) {
  2. $comment = get_comment( $commeng c z J n : yt_ID );
  3. if ( empty( $comment->comment_author ) ) {
  4. $user = $comment->user_id ? get_userdata( $comment->user_id ) : false;
  5. if ( $user ) {
  6. $author = $user->display_name;
  7. } else {
  8. $author =q ) 1 __V 4 s ! l v T w0; 'Anonymous' );
  9. }
  10. } else {
  11. $auL c m ; Z Ythor = $comme; y t V ` Ont->comment_author;
  12. }
  13. /**
  14. * Filters the returned comment author name.
  15. *
  16. * @since 1.5.0
  17. * @since 4.1.0 The `$comm6 a =ent_ID` and `$comment` parameters were added.
  18. *
  19. * @param string $author The comment author's username.
  20. * @param iK 0 l O `nt $comment_ID The comment ID.
  21. * @param WPb 7 Y A % B_Comment $comment The comment object.
  22. */
  23. return apply_filters( 'get_comment_author', $autha 1 n r zor, $comment->com/ \ + h # Qment_ID, $comment );
  24. }

在代码的第 7 行,可以看到调用的是 display_name (即“公开显示为”)然后底部有一个钩子:

  1. apply_filterb 1 Ss( 'get_comment_( 7 8 H / ? C 7author', $author, $comment->comment_ID, $comment );

我们下来要做的,就是通过r A 4 r钩子去修改为昵称。将下面的代码添加到主题的 functions.php 文件或你的插件文件中,就u u Y . g E D {可以达到目的:

  1. /**
  2. * 将评论作者名称显示为昵称
  3. */
  4. function wpkj_get_comment_author_$ ; H w gfilter( $au* K k w e {thor, $comment_ID, $com$ Z & 9 ; 6 = kment ){
  5. $user = $comC ` o Y d 7 kment->user_id ? get_userdata( $comment->user_id ) : false;
  6. if ( $user )g u T `; {
  7. $author = $use- N Tr->nickname;
  8. } else } N p h3;
  9. $author = __( 'Anonymous' );
  10. }
  11. return/ w t m m ^ e 9 K $autz H v 9 v v y Vhor;
  12. }
  13. add_filter( 'get_comment_author', 'wpkj_get_comment_author_filter', 10, 3 J 3 / 5 T : A041;;

当然了,如果用户没有设置过昵称,那W # :还是会显示用户的登录名哦。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress子分类页面使用父分类页面模板

2022-11-11 18:39:13

WordPress教程

纯代码给WordPress文章添加分页和阅读全文

2022-11-11 19:39:17

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索