// Initialisons la Metabox add_action( 'add_meta_boxes', 'mes_metaboxes' ); function mes_metaboxes() { add_meta_box( 'metabox_adresse', 'Adresse', 'metabox_adresse', 'post', 'side', 'core' ); } // Construisons la Metabox function metabox_adresse( $post ) { $adresse = get_post_meta( $post->ID, '_event_adresse', true ); $coords = get_post_meta( $post->ID, '_event_coords', true ); $coordonnes_definies = get_post_meta( $post->ID, '_defined_coords', true ); ?> Renseignez une adresse postale précise value="1" id="defined_coords"> results[ 0 ]->geometry->location->lat; $long = $json->results[ 0 ]->geometry->location->lng; return compact( 'lat', 'long' ); } //je récupère ma checkbox $coordonnes_definies = $_POST[ 'defined_coords' ]; if( $coordonnes_definies == 1 ) { //si checkbox cochée... // je sauvegarde sa valeur update_post_meta( $post_id, '_defined_coords', 1 ); //je construis un tableu à partir des coordonnées de l'utilisateur $user_coords = explode( ',', trim( $_POST[ 'event_coords' ] ) ); $coords = array( 'lat' => $user_coords[ 0 ], 'long' => $user_coords[ 1 ] ); // j'update les coordonnées définies par l'utilisateur update_post_meta( $post_id, '_event_coords', $coords ); }else{ // sinon... //j'update sa valeur update_post_meta( $post_id, '_defined_coords', 0 ); // je fais le taf' normal $coords = get_coords( $adresse ); if( $coords != '' ) update_post_meta( $post_id, '_event_coords', $coords ); } } }