无法更新用户的Display_Name字段

时间:2013-10-28 作者:jay

我试图在通过表单发布时更新用户显示名称。

以下是我正在尝试的:

if ( !empty( $_POST[\'display_name\'] ) ){    
    //var_dump($_POST[\'display_name\'] );
    wp_update_user( array ( \'ID\' => $current_user->ID, \'display_name\' => esc_attr( $_POST[\'display_name\'] ) ) );
}
我可以看到显示名称发布正确,但它只是不更新它。我可以成功更新用户url,但无法更新display_namefirst_name/ last_name.是否有其他方法更新这些字段?

1 个回复
最合适的回答,由SO网友:Maruti Mohanty 整理而成

这是因为没有meta key 已命名display_name, 因此,如果您想更新单个元值,请更好地使用update_user_meta 而不是wp_update_user, 像update_user_meta() 将创建元字段(如果不存在)。

喜欢

if ( !empty( $_POST[\'display_name\'] ) ) {    
    update_user_meta( $current_user->ID, \'display_name\', esc_attr( $_POST[\'display_name\'] ) );
}
然后,您可以使用元键并按您想要的方式进行赋值。

结束

相关推荐

Security and Must Use Plugins

从codex article 必须使用插件:只需将文件上载到mu插件目录即可启用,无需登录我觉得这是一个潜在的安全问题。在站点上运行插件中的任何代码之前,必须通过管理面板激活常规插件。我一直认为这是一个明智的安全预防措施,因为攻击者如果能够以某种方式将文件上载到plugins文件夹,则在运行代码之前,还必须访问和修改数据库。这个mu-plugins 文件夹似乎提供了一种简单的方法来避免这种情况。我知道WordPress开发人员比我更了解安全性,所以我想知道是否有人能解释为什么这不是一个安全漏洞。