[modifier_reservation]
function custom_booking_status_form() {
if (!is_user_logged_in()) {
return ‘Veuillez vous connecter pour modifier vos réservations.’;
}
$user_id = get_current_user_id();
$bookings = get_posts(array(
'post_type' => 'wc_booking',
'post_status' => array('confirmed', 'pending'),
'numberposts' => -1,
'meta_query' => array(
array(
'key' => '_customer_user',
'value' => $user_id,
'compare' => '='
)
)
));
if (empty($bookings)) {
return 'Aucune réservation trouvée.';
}
ob_start();
echo '<form method="post">';
echo '<select name="booking_id">';
foreach ($bookings as $booking) {
echo '<option value="' . $booking->ID . '">' . get_the_title($booking->ID) . '</option>';
}
echo '</select>';
echo '<select name="new_status">
<option value="confirmed">Confirmé</option>
<option value="cancelled">Annulé</option>
<option value="pending">En attente</option>
</select>';
echo '<button type="submit" name="update_booking_status">Mettre à jour</button>';
echo '</form>';
return ob_get_clean();
}
add_shortcode(‘modifier_reservation’, ‘custom_booking_status_form’);