我正在用PHP开发自定义插件,因此现有的插件不可用.我要实现的是,我想为某些用户在帖子中显示不同的url.对于在wordpress中注册的用户,请与我联系并得到“批准”.我想要设置此额外的用户配置文件字段,以便可以在某种情况下使用此字段.因此,没有此字段或在此字段中没有正确值的访客和用户将获得url1,但获得其他URL2.
要求
>仅具有管理员角色的用户
>可以创建/编辑其他用户个人资料字段
>对于所有其他用户
我知道如何在Wordpress中添加额外的用户个人资料字段(请参阅下面的链接),但是我不知道如何将编辑该字段的操作限制为给定角色的用户,以及具有管理员角色的用户如何创建/编辑该文件全部用户.在我看来,我必须在wordpress仪表板/用户/新用户和/或仪表板/用户/作者&下添加新代码.用户.
我做了一些谷歌搜索,发现很少网站有关如何添加额外的用户个人资料字段
> Adding and using custom user profile fields
> User Contact Fields in WordPress 2.9
> Add Data to User Field in WordPress
在我看来,Adding and using custom user profile fields几乎是我想要做的,但我仍然不知道如何管理“仅管理员”才能做到.
解决方法:
这个怎么样:
$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
//code here
}
看到这个链接约user capabilities for wordpress
因此,通过以上内容以及您提供的链接,也许像这样:
function my_show_extra_profile_fields( $user ) {
if ($user->wp_capabilities['administrator']!=1) {
return false;
} ?>
<h3>Extra profile information</h3>
<table class="form-table">
<tr>
<th><label for="twitter">Twitter</label></th>
<td>
<input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Please enter your Twitter username.</span>
</td>
</tr>
</table>
<?php }