update user information

时间:2011-11-28 作者:boranb

这是我的密码

/* Update user information. */
    if ( !empty( $_POST[\'url\'] ) ){
        update_user_meta( $current_user->id, \'user_url\', esc_url( $_POST[\'url\'] ) );
        else{
        delete_user_meta( $current_user->id, \'user_url\');
        }
    if ( !empty( $_POST[\'twit\'] ) ){
        update_user_meta( $current_user->id, \'twitter\', esc_attr( $_POST[\'twit\'] ) );
        else{
        delete_user_meta( $current_user->id, \'twitter\');
        }
    if ( !empty( $_POST[\'face\'] ) ){
        update_user_meta( $current_user->id, \'facebook\', esc_attr( $_POST[\'face\'] ) );
        else{
        delete_user_meta( $current_user->id, \'facebook\');
        }
    if ( !empty( $_POST[\'gplus\'] ) ){
        update_user_meta( $current_user->id, \'googleplus\', esc_url( $_POST[\'gplus\'] ) );
        else{
        delete_user_meta( $current_user->id, \'googleplus\');
        }
    if ( !empty( $_POST[\'email\'] ) )
        update_user_meta( $current_user->id, \'user_email\', esc_attr( $_POST[\'email\'] ) );
    if ( !empty( $_POST[\'first-name\'] ) ){
         update_user_meta( $current_user->id, \'first_name\', esc_attr( $_POST[\'first-name\'] ) );
         else{
        delete_user_meta( $current_user->id, \'first_name\');
        }
    if ( !empty( $_POST[\'last-name\'] ) ){
        update_user_meta($current_user->id, \'last_name\', esc_attr( $_POST[\'last-name\'] ) );
        else{
        delete_user_meta( $current_user->id, \'last_name\');
        }
    if ( !empty( $_POST[\'display_name\'] ) )
        update_user_meta($current_user->id, \'display_name\', esc_attr( $_POST[\'display_name\'] ) );
    if ( !empty( $_POST[\'description\'] ) ){
        update_user_meta( $current_user->id, \'description\', esc_attr( $_POST[\'description\'] ) );
        else{
        delete_user_meta( $current_user->id, \'description\');
        }
但它给了我服务器错误。它不起作用。我的代码怎么了?谢谢

1 个回复
最合适的回答,由SO网友:Kevin Langley Jr. 整理而成

您没有关闭第一个if标记。

/* Update user information. */
if ( !empty( $_POST[\'url\'] ) ){
    update_user_meta( $current_user->id, \'user_url\', esc_url( $_POST[\'url\'] ) );
} else{
    delete_user_meta( $current_user->id, \'user_url\');
}
此外,您应该使用esc_url_raw 在一个原始url上,然后如果您要回显到html中,请使用esc_url. 您也不应该保存esc_attr 价值观这将在作为html属性值进行回显时使用。相反,请尝试wp_filter_kses().

结束

相关推荐

Creating custom login errors

我希望能够创建自定义登录错误。例如,如果用户未登录就访问了受限区域,那么我将重定向到wp-login.php?ref=access 我想输出Restricted area, please login to continue. 或者类似的东西。你知道怎么做吗。我发现有过滤器login_errors 但是我在出现的代码中找不到其他地方,除了登录页面本身。最后,我真的不想为了做到这一点而改变任何核心文件。我花费了大量的时间和精力来确保wordpress的核心完全没有受到影响,以便我可以升级它。有人有什么想法吗?