本文我们来看看wordpress中,某用户希望开放部分帐号给用户,还希望在客户资料信息中附加几个字段,并且这几个字段只能由管理员来编辑更新,用户不能自行编辑.
对于wordpress来说,帐号管理这方面是比较低能的,后台提供的内容寥寥:姓名性别、联系方式,最多加上个人描述,然后其他内容,就交给WP 码农们折腾了,功能就是订阅者、作者、管理员这么几个,所以在多用户的例子中,如果非要用wordpress,可能得下番功夫了.
如何自定义账户的联系方式
solagirl这里有篇好文,可以去围观一下:为用户资料添加新的联系方式
主要内容就是增加新的联系方式,并且把自带的那几个(AIM、Yahoo IM和Jabber/Google Talk)去掉,主要的代码如下:
- add_filter('user_contactmethods', 'my_user_contactmethods');
- function my_user_contactmethods($user_contactmethods){
- $user_contactmethods['qq'] = 'QQ';
- $user_contactmethods['msn'] = 'MSN';
- unset($user_contactmethods['aim']);
- unset($user_contactmethods['yim']);
- unset($user_contactmethods['jabber']);
- return $user_contactmethods; //Vevb.com
- }
把上面的代码扔function.php里即可,如果需要增加其他条目,可以按格式写$user_contactmethods['条目的keyword'] = '后台显示名',然后依次添加进去即可.
如果想在其他地方调用此内容,可以这么写:
- <?php
- $current_author = get_userdata(get_query_var('author'));
- echo $current_author->QQ;
- ?>
如何给账户加入不可编辑内容
我想了两种方式:
1、把输入框disabled(但是通过代码编辑一下依然可以编辑);
2、加入内容,管理员可见。
第一种可以用js处理一下,或者把输入框调整调整,加上disabled属性,不再多说,第二种我是这么写的(基本框架和格式和上面的一样):
- if ( !isset( $contactmethods['twitter']) && current_user_can( 'create_users' ) )
- $contactmethods['twitter'] = 'Twitter';
当前用户如果有权限来建立新帐号(管理员),即可编辑隐藏条目内容.
新闻热点
疑难解答
图片精选