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
赏
oooo
or
- 本文标题:WordPress函数: 根据用户名获取用户ID
- 本文链接:https://zww.me/archives/25365
- 发布时间:2010年12月20日 10:18
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
学习下,接下来说不定用得着。
多用户博客应该挺有用的
@左心房的洞
对,多用户的博客有些需要吧
你这方法我还好理解些……
@木本无心
很简单的sql
太强大了。。支持 ZWW
@小托
谢谢您的支持
zww主题帝威武 o(* ̄▽ ̄*)ゞ。
@小邪
这。。。帝。。。不敢当啊
确实能折腾。
@zigbee
没办法啊,如博客副标题一样
这个我能看懂。不过用不上嗄
@竹下无为梦
一般博主都用不上
神马情况下会用到?
@优趣
多用户时
我的press还有待研究。
@猪八戒
慢慢研究
回复是对博主得支持!!!
@枯木
好吧,谢谢支持。
$user="'".$user."'";这句是什么意思。为什么前后 都有引号将'包围呢?初学PHP。请指导 。
@颖佳论坛
点号是加好."'" 名字是字符串, 所以要用单引号('). 这个是sql的范围
@颖佳论坛
如 Ronghai 回复所说
没有现成的对外接口?
@世纪之光
有的话就不需要这么蛋疼了,起码我和几个主题作者都没找到。
博主,wordpress有没有这样的功能:即某个栏目的文章只允许特定角色的读者(如:注册用户等)才能浏览?
@求索阁
没试过,知道有密码,你试试设置为私人的
博主强大,看来有时间我还得好好拜访下wp codex,嘿嘿
@asunchou
英文ok的话,还是直接看wp codex吧
id;
?>
如果没有记错的话应该是这个.
应该还有另外一个,一共有两个.
<?php
$user = get_user_by('login', 'name');
echo $user->id;
?>
貌似不能输入代码 - -
@emric
直接当然不能输入代码,你要用code括住。现在不需要鸟,下次有这种需求再试试。
大哥~怎么获取用户的评论数呢?
@feiyang
可以看看读者墙代码
请问怎么通过邮箱获取id
@qinnek 用这个 get_user_by():https://developer.wordpress.org/reference/functions/get_user_by/
用户名是数字的可以获取,是英文字母的,没有ID显示。
@千年骚狐 现在可以用 get_user_by 函数,具体看 https://developer.wordpress.org/reference/functions/get_user_by/