为了回答你问题的第一部分,我刚刚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过度的情况。:)