🏨 Hotel Booking Enhancements: - Implemented Eagle Booking Advanced Pricing add-on - Added Booking.com-style rate management system - Created professional calendar interface for pricing - Integrated deals and discounts functionality 💰 Advanced Pricing Features: - Dynamic pricing models (per room, per person, per adult) - Base rates, adult rates, and child rates management - Length of stay discounts and early bird deals - Mobile rates and secret deals implementation - Seasonal promotions and flash sales 📅 Availability Management: - Real-time availability tracking - Stop sell and restriction controls - Closed to arrival/departure functionality - Minimum/maximum stay requirements - Automatic sold-out management 💳 Payment Integration: - Maintained Redsys payment gateway integration - Seamless integration with existing Eagle Booking - No modifications to core Eagle Booking plugin 🛠️ Technical Implementation: - Custom database tables for advanced pricing - WordPress hooks and filters integration - AJAX-powered admin interface - Data migration from existing Eagle Booking - Professional calendar view for revenue management 📊 Admin Interface: - Booking.com-style management dashboard - Visual rate and availability calendar - Bulk operations for date ranges - Statistics and analytics dashboard - Modal dialogs for quick editing 🔧 Code Quality: - WordPress coding standards compliance - Secure database operations with prepared statements - Proper input validation and sanitization - Error handling and logging - Responsive admin interface 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
2.4 KiB
PHP
53 lines
2.4 KiB
PHP
<?php
|
|
/**
|
|
* Title: Short heading and paragraph and image on the left
|
|
* Slug: twentytwentyfive/banner-intro-image
|
|
* Categories: banner, featured
|
|
* Description: A Intro pattern with Short heading, paragraph and image on the left.
|
|
*
|
|
* @package WordPress
|
|
* @subpackage Twenty_Twenty_Five
|
|
* @since Twenty Twenty-Five 1.0
|
|
*/
|
|
|
|
?>
|
|
<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|50"},"margin":{"top":"0","bottom":"0"}}},"layout":{"type":"constrained"}} -->
|
|
<div class="wp-block-group alignfull" style="margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)">
|
|
<!-- wp:columns {"align":"wide","style":{"spacing":{"blockGap":{"top":"var:preset|spacing|50","left":"var:preset|spacing|50"}}}} -->
|
|
<div class="wp-block-columns alignwide">
|
|
<!-- wp:column {"width":"56%"} -->
|
|
<div class="wp-block-column" style="flex-basis:56%">
|
|
<!-- wp:image {"aspectRatio":"1","scale":"cover","sizeSlug":"full"} -->
|
|
<figure class="wp-block-image size-full">
|
|
<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/botany-flowers.webp" alt="<?php echo esc_attr_x( 'Picture of a flower', 'Alt text for intro picture.', 'twentytwentyfive' ); ?>" style="aspect-ratio:1;object-fit:cover"/>
|
|
</figure>
|
|
<!-- /wp:image -->
|
|
</div>
|
|
<!-- /wp:column -->
|
|
|
|
<!-- wp:column {"verticalAlignment":"center","style":{"spacing":{"blockGap":"var:preset|spacing|40"}}} -->
|
|
<div class="wp-block-column is-vertically-aligned-center">
|
|
<!-- wp:heading -->
|
|
<h2 class="wp-block-heading"><?php echo esc_html_x( 'New arrivals', 'Heading for banner pattern.', 'twentytwentyfive' ); ?></h2>
|
|
<!-- /wp:heading -->
|
|
|
|
<!-- wp:paragraph -->
|
|
<p><?php echo esc_html_x( 'Like flowers that bloom in unexpected places, every story unfolds with beauty and resilience, revealing hidden wonders.', 'Sample description for banner with flower.', 'twentytwentyfive' ); ?></p>
|
|
<!-- /wp:paragraph -->
|
|
|
|
<!-- wp:buttons -->
|
|
<div class="wp-block-buttons">
|
|
<!-- wp:button -->
|
|
<div class="wp-block-button">
|
|
<a class="wp-block-button__link wp-element-button"><?php echo esc_html_x( 'Learn More', 'Button text of intro section.', 'twentytwentyfive' ); ?></a>
|
|
</div>
|
|
<!-- /wp:button -->
|
|
</div>
|
|
<!-- /wp:buttons -->
|
|
</div>
|
|
<!-- /wp:column -->
|
|
</div>
|
|
<!-- /wp:columns -->
|
|
</div>
|
|
<!-- /wp:group -->
|