将属性添加到用户配置文件并显示在列表中

时间:2010-10-25 作者:Steve Wright

我有一个网站,我正在迁移到WordPress,我需要添加每个用户都可以编辑的属性(例如地址、城市、州、企业名称等),以及管理员可以编辑的一些不会显示给用户的属性(IsActive、CanEmail)。此外,我需要能够在表中显示属性(类似于插件“成员列表”的显示方式,但也需要显示自定义字段)。

考虑到这些要求,我尝试使用“Cimy用户额外字段”和“成员列表”的组合,但成员列表网格没有显示其他插件创建的额外字段的选项。

你会建议我怎么做?

编辑:

所以我想我的问题的关键是,向用户添加属性的首选方法是什么?

4 个回复
SO网友:fuxia

为了回答你问题的第一部分,我刚刚class TTT_User_Profile_Addon on GitHub. 该类提供了一个简单的界面,可以将字段添加到配置文件页面。我为checkbox子类添加了一个示例,并为每个函数初始化了一些代码。php。当然,这也适用于插件。

有一些内置占位符,但您可以添加自己的占位符。标记和输入值的单独过滤器使扩展类更容易。

您可以设置自定义功能来显示和保存每个构造函数调用的字段。整个工作简化为一个简单的init函数:

add_action( \'init\', \'ttt_init_profile_addons\' );

/**
 * Registers the extra fields for the user profile editor.
 */
function ttt_init_profile_addons()
{
    $GLOBALS[\'ttt_show_profile\'] = new TTT_User_Profile_Checkbox(
        array (
            \'name\' => \'ttt_show_profile\'
        ,   \'label\' => \'Show a short profile box on my posts.\'
        ,   \'th\' => \'\'
        ,   \'td\' => \'<input type="checkbox" name="%name%" id="%id%" %checked% /> %label%\'
        ,   \'cap_show\' => \'edit_posts\'
        ,   \'cap_save\' => \'edit_users\'
        )
    );
    // add more fields here …
}
将值添加到成员表是我的待办事项列表中仍然有的内容…

哦,我可能应该提到另一个类来替换或扩展默认联系人字段:TTT_Contactfields. 这可能是OOP过度的情况。:)

SO网友:Jan Fabry

基本理念是save the extra information as metadata, 然后扩展常规用户列表和表单以显示您自己的内容。(在列表中显示额外的列很容易,我有an example for the post list.)

看来Members List 可以显示元表中的数据Cimy User Extra Fields 还将其信息保存在那里,您应该能够将它们组合在一起。Cimy插件如何保存其数据?

SO网友:Ünsal Korkmaz

这不是一个答案,而是一个建议。您可以使用buddypress:http://buddypress.org/

配置文件字段设置部分是你正在寻找的,我想。

SO网友:benstraw

这可能不是最终答案,这取决于您想做什么,但您是否签出了regi plus redux?我已经将其用于许多站点,它允许您添加属性,并将它们设置为在配置文件中可见或不可见(即,可供用户查看或仅供管理员查看)

结束

相关推荐