Created
June 8, 2023 02:49
-
-
Save MarkKevin08/4b93aa5bd1101d98bdea8bf4fdc34a6a to your computer and use it in GitHub Desktop.
WC Vendors - Prevent vendor edit booking start date and end date
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Prevent vendor edit booking start date and end date | |
*/ | |
function wcv_prevent_vendor_edit_booking_start_date_and_end_date() { | |
$pagename = get_query_var( 'pagename' ); | |
$object = get_query_var( 'object' ); | |
$action = get_query_var( 'action' ); | |
if ( ! is_user_logged_in() ) { | |
return; | |
} | |
if ( 'edit' !== $action || 'wc_booking' !== $object || 'dashboard' !== $pagename ) { | |
return; | |
} | |
?> | |
<script> | |
jQuery(document).ready(function ($) { | |
if ( $('#_wcv-save_wc_booking').length <=0 ) { | |
return; | |
} | |
let $bookingStartDate = $('#booking_start_date'); | |
let $bookingEndDate = $('#booking_end_date'); | |
let $post_id = $('#post_id') | |
if ($bookingStartDate.length && $bookingEndDate.length) { | |
let $bookingStartDateNew = $('<input type="hidden" name="booking_start_date" id="booking_start_date_copy" value="' + $bookingStartDate.val() + '">'); | |
let $bookingEndDateNew = $('<input type="hidden" name="booking_end_date" id="booking_end_date_copy" value="' + $bookingEndDate.val() + '">'); | |
$bookingStartDate.after($bookingStartDateNew); | |
$bookingEndDate.after($bookingEndDateNew); | |
$bookingStartDate.attr('readonly', 'readonly') | |
$bookingEndDate.attr('readonly', 'readonly'); | |
$bookingStartDate.attr('disabled', 'disabled'); | |
$bookingEndDate.attr('disabled', 'disabled'); | |
} | |
}); | |
</script> | |
<?php | |
} | |
add_action( 'wp_footer', 'wcv_prevent_vendor_edit_booking_start_date_and_end_date' ); | |
/** | |
* Prevent vendor update booking start date and end date | |
* | |
* @param int $meta_id ID of updated metadata entry. | |
* @param int $object_id Object ID. | |
* @param string $meta_key Meta key. | |
* | |
* @return bool | |
*/ | |
function wcv_prevent_update_meta_booking_start_date_and_end_date( $check, $meta_id, $object_id, $meta_key ) { | |
if ( is_admin() ) { | |
return $check; | |
} | |
if ( 'wc_booking' !== get_post_type( $object_id ) ) { | |
return $check; | |
} | |
if ( ! isset( $_POST['_wcv-save_wc_booking'] ) ) { | |
return $check; | |
} | |
if ( '_booking_start' === $meta_key || '_booking_end' === $meta_key ) { | |
return false; | |
} | |
} | |
add_filter( 'update_post_metadata', 'wcv_prevent_update_meta_booking_start_date_and_end_date', 10, 4 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment