Skip to content

Instantly share code, notes, and snippets.

View kartikparmar's full-sized avatar

Kartik Parmar kartikparmar

  • Mumbai
View GitHub Profile
@kartikparmar
kartikparmar / functions.php
Created November 8, 2024 13:35
Date info in session from bkap date selection form
<?php
function bkap_date_from_session_cookie( $date ) {
if ( $date ) {
if ( str_contains( $date, '/' ) ) {
$d = DateTime::createFromFormat( 'j/n/y', $date );
$date = $d->format( 'Y-m-d' );
}
}
return $date;
@kartikparmar
kartikparmar / functions.php
Last active November 6, 2024 17:50
custom code to list the date and select it in datepicker
<?php
add_action('woocommerce_before_add_to_cart_button', 'add_custom_date_picker', 10000 );
function add_custom_date_picker() {
?>
<style>
.date-list {
list-style-type: none;
padding: 0;
}
@kartikparmar
kartikparmar / function.php
Created November 5, 2024 15:48
Setting default booking status to pending confirmation
<?php
/**
* Change default booking status to confirmed when order is placed.
*
* @param string $status Status of Booking.
*/
function bkap_booking_status_on_create_order( $status ) {
return 'pending-confirmation';
}
@kartikparmar
kartikparmar / functions.php
Created November 4, 2024 09:48
customize the booking price based on the custom fields
<?php
function custom_price_calc( $price_data, $product_id ) {
/*
You can change the following data
total_price_calculated - Total Booking Price
bkap_price_charged - Booking price being charged to customer [This could be vary if deposits addon is being used]
bkap_price : Text being displayed in the Price section - https://prnt.sc/ku_AQFhjUY36
To understand bit more how the data being prepared and passed based on the cutomer selection then you can check for bkap_special_booking_show_multiple_updated_price function
*/
@kartikparmar
kartikparmar / functions.php
Created October 30, 2024 13:12
Exclude the disabled weekdays and season with 100% discount from number of selected days
<?php
function bkap_selected_number_of_nights( $number, $checkin_date, $checkout_date, $product_id, $booking_settings ) {
$dates = bkap_common::bkap_get_betweendays( $checkin_date, $checkout_date, 'Y-m-d' );
foreach ( $dates as $date ) {
$day = date( 'w', strtotime( $date ) );
$weekday_name = 'booking_weekday_' . $day;
if ( '' === $booking_settings['booking_recurring'][$weekday_name] ) {
@kartikparmar
kartikparmar / datepicker.html
Created October 24, 2024 08:28
datepicker.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Date Picker Example</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<style>
.date-list {
list-style-type: none;
@kartikparmar
kartikparmar / functions.php
Created October 14, 2024 05:59
To show the error notice before the booking form
<?php
// Function to enqueue the custom script to move WooCommerce Error Notices
function bkap_move_woocommerce_notices_above_booking_form() {
if ( is_product() ) {
?>
<script>
jQuery(document).ready(function($) {
var wooNotices = $('.woocommerce-error');
if ( wooNotices.length && $('.bkap-booking-form').length ) {
@kartikparmar
kartikparmar / functions.php
Created September 24, 2024 12:08
Change calendar icon
/**
* This function will change the calendar icon of the Date selection fields in the front-end booking form.
*/
function bkap_calendar_custom_icon_file() {
return 'https://www.pngfind.com/pngs/m/681-6816950_small-calendar-icon-png-transparent-png.png';
}
add_filter( 'bkap_calendar_icon_file', 'bkap_calendar_custom_icon_file' );
@kartikparmar
kartikparmar / functions.php
Created September 24, 2024 10:04
Change subscription price.
<?php
function update_subscription_with_original_price( $subscription_id, $args ) {
global $wpdb;
// Get the download ID from the $args array
$download_id = $args['product_id'];
// Get the price ID if variable pricing is used
$price_id = ! empty( $args['price_id'] ) ? $args['price_id'] : null;
@kartikparmar
kartikparmar / functions.php
Created August 13, 2024 21:30
Allow booking on disabled weekdays, in advance booking period, also ignore the manage time availability settings on backend
<?php
/**
* This function will not ignore the Advance Booking Period settings on Backend.
*/
function bkap_advance_booking_period_callback( $abp ) {
return is_admin() ? 0 : $abp;
}
add_filter( 'bkap_advance_booking_period', 'bkap_advance_booking_period_callback', 10, 1 );