You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress的Simple User List插件中显示姓氏前3个字母

整合姓氏前3字母显示到Simple User List插件

嘿,这事儿好办!我来帮你把姓氏截取前3个字母的功能完美整合到Simple User List插件里~

核心思路

你之前的代码逻辑完全没问题:获取用户姓氏→截取前3字符→输出。现在只需要把这个逻辑嵌入到插件显示用户姓名的代码段里,替换原来的完整姓氏即可。

具体修改步骤

  1. 找到你提到的插件代码片段(通常在插件的模板文件里,比如templates/user-list-item.php这类文件)
  2. 替换原来的姓名输出部分,加入姓氏截取逻辑,完整修改后的代码如下:
<h3> 
    <?php 
    if ( $num_posts > 0 ) {
        // 获取当前用户的姓氏并截取前3个字母
        $user_lastname = get_the_author_meta('user_lastname', $user->ID);
        // 处理空姓氏的情况,避免异常显示
        $ltr_group = !empty($user_lastname) ? substr($user_lastname, 0, 3) : '';
        
        // 输出带链接的姓名(名字完整,姓氏只显示前3个字母)
        printf( '<a href="%s" title="%s">%s %s</a> <span class="post-count"><span class="hyphen">-</span> %s</span>', 
            esc_url( get_author_posts_url( $user->ID ) ),
            esc_attr( sprintf( __( 'View all posts by %s', 'simple-user-list' ), $user->display_name ) ),
            esc_html( $user->first_name ), // 名字保持完整显示
            esc_html( $ltr_group ), // 这里是截取后的姓氏前3个字母
            number_format_i18n( $num_posts )
        );
    } else {
        // 没有文章的用户,同样处理姓氏显示
        $user_lastname = get_the_author_meta('user_lastname', $user->ID);
        $ltr_group = !empty($user_lastname) ? substr($user_lastname, 0, 3) : '';
        
        printf( '%s %s', 
            esc_html( $user->first_name ),
            esc_html( $ltr_group )
        );
    }
    ?>
</h3>

注意事项

  • 确认插件循环中的用户变量名:如果插件里不是用$user,而是$user_item或者其他变量,记得把代码里的$user->ID、$user->first_name替换成对应的变量名
  • 安全转义:代码里用了esc_html、esc_url这些函数,避免XSS安全问题,一定要保留
  • 空姓氏处理:加了!empty()判断,防止用户没填姓氏时出现奇怪的显示

内容的提问来源于stack exchange,提问作者Szuta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:33:31