// 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 );
}
}
}