在“About the User”(关于用户)用户配置文件下的附加文件

时间:2013-04-19 作者:MidhuN

我使用以下内容在用户配置文件中的“联系信息”下添加电话号码、链接id等。现在我必须在“关于用户”下添加一个文件。我该怎么做?

function my_new_contactmethods( $contactmethods ) {
$contactmethods[\'designation\'] = \'Designation\';
$contactmethods[\'linked_in\'] = \'Linked In\';
$contactmethods[\'phone\'] = \'Phone Number\';
return $contactmethods;
}
add_filter(\'user_contactmethods\',\'my_new_contactmethods\',10,1);

UPDATE

以上代码在用户档案中的“联系人信息”部分下添加了3个字段。我不想创建一个名为“关于用户”的新标题,并提供所需字段。档案中已经有一个“关于用户”的部分,其中包括个人信息和密码更改选项。我想在这两个字段的同时添加一个新字段

2 个回复
SO网友:dipali

在主题函数中添加以下代码。php文件。

add_action( \'show_user_profile\', \'extra_user_profile_fields\' );
add_action( \'edit_user_profile\', \'extra_user_profile_fields\' );
function extra_user_profile_fields( $user ) { ?>
 <table class="form-table">
<tr>
<th><label for="address"><?php _e("Designation"); ?></label></th>
<td>
<input type="text" name="designation" id="designation" value="<?php echo esc_attr( get_the_author_meta( \'designation\', $user->ID ) ); ?>" class="regular-text" /><br />
</td>
</tr>
<tr>
<th><label for="city"><?php _e("Linked In"); ?></label></th>
<td>
<input type="text" name="linked_in" id="linked_in" value="<?php echo esc_attr( get_the_author_meta( \'linked_in\', $user->ID ) ); ?>" class="regular-text" /><br />
</td>
</tr>
<tr>
<th><label for="province"><?php _e("Phone Number"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" value="<?php echo esc_attr( get_the_author_meta( \'phone\', $user->ID ) ); ?>" class="regular-text" /><br />
</td>
</tr>
</table>
<?php }
add_action( \'personal_options_update\', \'save_extra_user_profile_fields\' );
add_action( \'edit_user_profile_update\', \'save_extra_user_profile_fields\' );
function save_extra_user_profile_fields( $user_id ) {
if ( !current_user_can( \'edit_user\', $user_id ) ) { return false; }
update_user_meta( $user_id, \'designation\', $_POST[\'designation\'] );
update_user_meta( $user_id, \'linked_in\', $_POST[\'linked_in\'] );
update_user_meta( $user_id, \'phone\', $_POST[\'phone\'] );
}

SO网友:daro2013

我已经用上面的代码和另一个代码移动电话字段的组合进行了分类。我想与任何需要这些代码的人分享这些代码:

/* ADD EXTRA PHONE FIELD INTO USER PROFILE  - WORKING */
// Add a phone field into user profile page
add_action( \'show_user_profile\', \'extra_user_profile_fields\' );
add_action( \'edit_user_profile\', \'extra_user_profile_fields\' );
function extra_user_profile_fields( $user ) { ?>
 <table class="form-table">
<tr id="custom_user_field_row">
<th><label for="Phone"><?php _e("Phone Number"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" value="<?php echo esc_attr( 
get_the_author_meta( \'phone\', $user->ID ) ); ?>" class="regular-text" /><br />
</td>
</tr>
</table>
<?php }     // Saving Phone field
add_action( \'personal_options_update\', \'save_extra_user_profile_fields\' );
add_action( \'edit_user_profile_update\', \'save_extra_user_profile_fields\' );
function save_extra_user_profile_fields( $user_id ) {
if ( !current_user_can( \'edit_user\', $user_id ) ) { return false; }
update_user_meta( $user_id, \'designation\', $_POST[\'designation\'] );

update_user_meta( $user_id, \'phone\', $_POST[\'phone\'] );
}
function moving_extra_field() { // Moving Phone field above Password on user 
profile page
$screen = get_current_screen();
if ( $screen->id != "profile" && $screen->id != "user-edit" ) 
    return;
?>
<script type="text/javascript">
    jQuery(document).ready(function($) {
        field = $(\'#custom_user_field_row\').remove();
        field.insertBefore(\'#password\');
    });
</script>
<?php
}
add_action( \'admin_head\', \'moving_extra_field\' );
上述代码将在用户配置文件页面上显示电话字段,将其保存并移动到密码上方。这不是我的代码;我在这个网站上合并了代码。

尽情享受吧!

结束

相关推荐

有没有可能导致wp_USERS表消失的已知错误?

我管理许多WordPress支持的网站。其中一个网站是新的,自一个月前成立以来一直保持原样。今天,我尝试登录,但无法做到-我所有的登录尝试都被拒绝。经过调查,我发现wp_users 缺少表。所有其他表格都存在,博客功能齐全。数据库中的任何条目或任何文件均未表明存在任何形式的黑客行为。我明天就要休假了,这让我有点担心,因为我是唯一负责这些网站的人。当然,我已经更改了所有密码,我可能会重新安装代码库,但我想知道是否有任何常见的bug可能导致这种情况?运行的WP版本为3.4.1。值得注意的安装插件包括WP Su