&start=YYYY-MM-DD&end=YYYY-MM-DD' ); } $yacht_post = get_page_by_path( $yacht_slug, OBJECT, 'yacht' ); if ( ! $yacht_post ) { // Sprobuj po tytule, jesli slug nie pasuje. $candidates = get_posts( array( 'post_type' => 'yacht', 's' => $yacht_slug, 'numberposts' => 1, ) ); $yacht_post = $candidates ? $candidates[0] : null; } if ( ! $yacht_post ) { echo "Nie znaleziono jachtu '{$yacht_slug}'. Dostepne jachty:\n"; $all = get_posts( array( 'post_type' => 'yacht', 'numberposts' => -1 ) ); foreach ( $all as $y ) { echo " - ID={$y->ID}, slug={$y->post_name}, title={$y->post_title}\n"; } exit; } $booking_id = \YachtBooking\Booking::create( array( 'yacht_id' => $yacht_post->ID, 'start_date' => $start, 'end_date' => $end, 'customer_name' => 'TEST PAUL', 'customer_email' => 'test@example.com', 'customer_phone' => '000000000', 'status' => 'confirmed', 'total_price' => 0, ) ); if ( ! $booking_id ) { die( 'Booking::create zwrocilo false.' ); } // Marker, zeby latwo odnalezc i usunac. update_post_meta( $booking_id, $test_marker, $test_marker_value ); // Zapisz dni jako booked w wp_yacht_availability. \YachtBooking\Availability::mark_as_booked( $yacht_post->ID, $start, $end, $booking_id ); echo "OK — utworzono testowa rezerwacje:\n"; echo " booking_id = {$booking_id}\n"; echo " yacht = {$yacht_post->post_title} (ID={$yacht_post->ID})\n"; echo " termin = {$start} -> {$end}\n"; echo "\nOdwiedz strone kalendarza (hard reload Ctrl+F5) i zobacz podzielone dni.\n"; echo "Aby usunac: /test-add-booking.php?action=remove&token={$expected_token}\n"; exit; } if ( 'remove' === $action ) { $bookings = get_posts( array( 'post_type' => 'yacht_booking', 'numberposts' => -1, 'post_status' => 'any', 'meta_key' => $test_marker, 'meta_value' => $test_marker_value, ) ); if ( ! $bookings ) { die( 'Brak testowych rezerwacji do usuniecia.' ); } foreach ( $bookings as $b ) { \YachtBooking\Availability::clear_booking_availability( $b->ID ); wp_delete_post( $b->ID, true ); echo "Usunieto booking_id={$b->ID}\n"; } echo "Gotowe. Mozesz teraz USUNAC plik test-add-booking.php z FTP.\n"; exit; } if ( 'list' === $action ) { $bookings = get_posts( array( 'post_type' => 'yacht_booking', 'numberposts' => -1, 'post_status' => 'any', 'meta_key' => $test_marker, 'meta_value' => $test_marker_value, ) ); echo "Testowe rezerwacje (marker {$test_marker_value}):\n"; if ( ! $bookings ) { echo " (brak)\n"; } foreach ( $bookings as $b ) { $yacht_id = \YachtBooking\Booking::get_yacht_id( $b->ID ); $start = \YachtBooking\Booking::get_start_date( $b->ID ); $end = \YachtBooking\Booking::get_end_date( $b->ID ); echo " - ID={$b->ID}, yacht_id={$yacht_id}, {$start} -> {$end}\n"; } exit; } die( "Nieznana akcja '{$action}'. Dozwolone: add | remove | list" );