我使用终极成员插件制作了一个带有一些额外字段的自定义注册表。我想在帐户页面上显示这些额外的字段。我已经用钩子为它创建了一个额外的选项卡(见下面的代码(,但我似乎找不到如何从注册表单的额外字段中获取数据。有人知道吗?
亲切问候戴维
/* Ultimate member */
/* tab Stormbee registration */
add_filter('um_account_page_default_tabs_hook', 'my_custom_tab_in_um', 100 );
function my_custom_tab_in_um( $tabs ) {
$tabs[800]['mytab']['icon'] = 'um-faicon-pencil';
$tabs[800]['mytab']['title'] = 'Stormbee registration';
$tabs[800]['mytab']['custom'] = true;
return $tabs;
}
/* make our new tab hookable */
add_action('um_account_tab__mytab', 'um_account_tab__mytab');
function um_account_tab__mytab( $info ) {
global $ultimatemember;
extract( $info );
$output = $ultimatemember->account->get_tab_output('mytab');
if ( $output ) { echo $output; }
}
/* Finally we add some content in the tab */
add_filter('um_account_content_hook_mytab', 'um_account_content_hook_mytab');
function um_account_content_hook_mytab( $output ){
ob_start();
?>
<div class="um-field">
<?php echo um_user('display_name'); ?> <br />
<?php
?>
</div>
<?php
$output .= ob_get_contents();
ob_end_clean();
return $output;
}
/* Ultimate member */
Ultimate Member存储用户元表中字段的数据。为了在前端显示保存的字段值,您可以使用Wordpress内置的get_user_meta函数:
echo get_user_meta( $user_ID, $key, true );
您可以使用get_current_user_id()
来检索当前用户的ID。但由于您计划在终极会员帐户页面(管理员可以访问(上显示此ID,因此我建议您改用UM()->user()->target_id
。这将提取您正在查看其个人资料/帐户页面的用户的ID。
接下来,你所需要做的就是找出这个领域的关键。通常,这都是带下划线的小写字母。所以像first_name
。
以下是最终代码的样子:
$user_ID = UM()->user()->target_id;
echo get_user_meta( $user_ID, 'description', true );