c'est mon code
/* 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');
}
mais cela me donne une erreur de serveur. ça ne marche pas. quel est le problème avec mon code? Merci.
Vous ne fermez pas le premier si tag.
/* 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');
}
En outre, vous devez utiliser esc_url_raw
sur une URL brute, puis, si vous faites écho dans le langage HTML, utilisez esc_url
. Vous ne devriez pas non plus enregistrer les valeurs esc_attr
. Ceci doit être utilisé lors de l'écho en tant que valeur d'attribut html. Au lieu de cela, essayez wp_filter_kses()
.