2010年12月20日 77条评论

WordPress函数: 根据用户名获取用户ID

2016.6.24 更新:可以通过 get_urser_by() 函数来实现,所以具体去 https://developer.wordpress.org/reference/functions/get_user_by/

---

这个是最近折腾一个主题遇到的,功能是后台设置里填入的用户名,然后在前台这些用户的头像和链接,例如:后台设置里填入:zwwooooo,zww,那么前台就显示zwwooooo和zww这两个用户的头像、链接。

这个功能要求有点蛋疼,要是全部输出就简单多了,不过既然有这个要求,那么就要解决一下。

思路

1. 根据用户名获取用户ID

2. 然后用 the_author_meta( $field, $userID ); 输出需要的用户信息。
the_author_meta官方函数说明 http://codex.wordpress.org/Function_Reference/the_author_meta

问题:可惜我找遍了整个WordPress函数库(夸张)都没有这种“根据用户名获取用户ID”的函数。

请教:我请教几个主题制作高手都说貌似没这种函数。。。囧。。。

解决:那么就是说要用最厉害的 SQL 来解决了?不过这会增加数据库查询,没办法,对方执意要直接填用户名实现——直接用用户ID多好啊,高效!简单!算了,客户是上帝。

方法:我自己根据 MySql 表码的 SQL 语句写的函数,函数代码如下(放到主题functions.php 里面)

function get_user_id($user=''){
 $user="'".$user."'";
 global $wpdb;
 $user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE user_login = $user ORDER BY ID");
 foreach($user_ids as $user_id){
 return $user_id;
 }
}

调用方法:<?php get_user_id($user); ?>

要直接显示获取的用户id就这样 <?php echo get_user_id($user); ?>

不知道有没有更好的解决方法?有的话烦请高手告知。

zww
or
oooo

“WordPress函数: 根据用户名获取用户ID”有77条评论

    1. Veezy says:

      @Weitian Zhao
      - =
      我怎么还在用Weitian Zhao这个名 :arrow:

  1. 呃 好吧 我承认这功能是干啥的我没看懂
    琢磨半天第一段- =

    1. zwwooooo says:

      @Weitian Zhao
      哈哈哈,就是根据用户名获取用户id号而已

    2. @zwwooooo
      哦哦我懂了,是获取本站注册用户的id号.
      商业博客和大型博客很实用的吧
      对我这种只有三个注册的来说...还是打酱油吧 :evil:

    3. zwwooooo says:

      @Weitian Zhao
      嗯,多用户博客和一些商业的需要吧

  2. 不羡鱼 says:

    后台填用户名,前台显示头像和链接,是要在文章中显示不同作者头像吧? :shock:

    1. zwwooooo says:

      @不羡鱼
      不是,是指侧边栏展示博客的多个作者啥的。

  3. 不羡鱼 says:

    我的头像已换了,缓存还未改过来。 :eek:

    1. zwwooooo says:

      @不羡鱼
      缓存七天吧,看看会不会变。。。

  4. 万戈 says:

    哟,大叔搞定了耶 :lol: 我就坐收劳动果实了 :mrgreen:

    1. 苏扬 says:

      @万戈

      万戈: 哟,大叔搞定了耶 我就坐收劳动果实了

      我们都一样!

    2. zwwooooo says:

      @万戈
      我一直在等你的sql,没等到,只好自己硬着头皮上,结果搞定了,囧

  5. 阿修 says:

    又是数据库,大叔v5……

    1. zwwooooo says:

      @阿修
      简单的sql吧,测试出来的。。。

  6. Armgod says:

    用户的蛋疼要求也不是坏事,至少可以逼自己学到点东西

    1. zwwooooo says:

      @Armgod
      而且解决了文囧 :mrgreen:

  7. chnmcy says:

    先收藏着吧

  8. A.shun says:

    好久没折腾了,这两天要找时间弄下

  9. in1874 says:

    ....没技术 纯学习,关注。

    1. zwwooooo says:

      @in1874
      荒淫常来

  10. dee says:

    再整个缓存之类的东东 :arrow:
    我只是瞎想想……

    1. zwwooooo says:

      @dee
      几个用户就算了,除非网站访问很大

  11. 用户ID有何用

    1. zwwooooo says:

      @软件盒子
      参考文中所说的wp官方函数

  12. 奚少 says:

    不大明白...

    1. zwwooooo says:

      @奚少
      折腾多了就明白了

  13. IM路人 says:

    真的折腾~啊 :!:

  14. 纯学习下.

  15. Kars says:

    的确有点蛋疼、、

  16. 就是在折腾中不断学习!

    1. zwwooooo says:

      @不在回头
      那叫“无折腾不学习”。。。

  17. 集趣 says:

    我也从你这里学习到不少东西

    1. zwwooooo says:

      @集趣
      互相学习

  18. 爱惜 says:

    貌似我的才一个用户所以这个应该用不上吧

    1. zwwooooo says:

      @爱惜
      一般博客都用不上

  19. 一般不折腾,所以不敢折腾 :?:

回复给 奚少 ¬
取消回复

昵称 *

网址

B em del U Link Code Quote