Skip to content

Instantly share code, notes, and snippets.

View rajeshsingh520's full-sized avatar

Rajesh rajeshsingh520

View GitHub Profile
@rajeshsingh520
rajeshsingh520 / gist:40bb19a1406dabcadcd18bc02120d990
Created June 13, 2025 08:05
disable mmq request on checkout page
add_action('wp_enqueue_scripts', function() {
if (is_checkout()) {
wp_dequeue_script( 'pisol-mmq-amount' );
}
}, PHP_INT_MAX);
@rajeshsingh520
rajeshsingh520 / gist:87ae0a23bef8111b09ee607d4d9c5f83
Created June 13, 2025 05:55
disable pickup location loading by ajax
add_filter('woocommerce_update_order_review_fragments',function($fragment){
if(is_array($fragment)){
$fragment['dont_reload_pickup_location'] = true;
}
return $fragment;
});
@rajeshsingh520
rajeshsingh520 / gist:3ed14a605daa38392d5b062cd7edef60
Created June 11, 2025 04:44
remove product from cart based on pickup location
class pisol_custom_20250611{
static $instance = null;
public static function get_instance() {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
@rajeshsingh520
rajeshsingh520 / disable-order-limit-byrole.php
Created June 11, 2025 00:50
Disable order limit by user role
add_filter('pisol_disable_order_limit_check', function($disable){
if (is_user_logged_in()) {
$user = wp_get_current_user();
if (in_array('administrator', $user->roles) || in_array('shop_manager', $user->roles)) {
$disable = true;
}
}
return $disable;
});
add_filter('doing_it_wrong_trigger_error', function($doing_it_wrong, $function_name) {
if ('_load_textdomain_just_in_time' === $function_name) {
return false;
}
return $doing_it_wrong;
}, 10, 2);
@rajeshsingh520
rajeshsingh520 / gist:95b8bba7504baa30f2436a2495b003f3
Created May 28, 2025 09:48
Show shipping cost but do not apply it in the final checkout total
add_filter('woocommerce_package_rates', 'override_shipping_cost_to_zero_but_keep_label', PHP_INT_MAX, 2);
function override_shipping_cost_to_zero_but_keep_label($rates, $package) {
foreach ($rates as $rate_id => $rate) {
// Save original cost in the label for display
$original_cost = wc_price($rate->cost);
$rates[$rate_id]->label .= " (Normally $original_cost)";
// Override actual cost to 0
$rates[$rate_id]->cost = 0;
@rajeshsingh520
rajeshsingh520 / gist:d280a45bd7509e910cebd217b7b5e8ae
Last active May 14, 2025 01:41
Code to remove estimate date order item meta from being added to rest api request for order
add_filter('woocommerce_rest_prepare_shop_order_object', function ($response, $order, $request) {
if (isset($response->data['line_items']) && is_array($response->data['line_items'])) {
foreach ($response->data['line_items'] as $item_index => $item) {
if (isset($item['meta_data']) && is_array($item['meta_data'])) {
$filtered_meta = array_filter($item['meta_data'], function ($meta) {
$meta_keys_to_remove = ['pi_item_min_date', 'pi_item_max_date','pi_item_min_days','pi_item_max_days', '_pi_item_min_preparation_days', '_pi_item_max_preparation_days','_min_shipping_start_date', '_max_shipping_start_date','estimate_details'];
return !in_array($meta['key'], $meta_keys_to_remove);
});
$response->data['line_items'][$item_index]['meta_data'] = array_values($filtered_meta);
}
add_action( 'wp_enqueue_scripts', function(){
if(function_exists('is_checkout') && is_checkout()){
wp_dequeue_script( 'wt-smart-coupon-for-woo' );
wp_deregister_script( 'wt-smart-coupon-for-woo' );
}
}, PHP_INT_MAX );
add_action( 'wp_enqueue_scripts', function(){
if(current_user_can('manage_options') || current_user_can('shop_manager')) {
wp_dequeue_script( 'pi-woocommerce-order-date-time-and-type-pro-save-checkout' );
wp_deregister_script( 'pi-woocommerce-order-date-time-and-type-pro-save-checkout' );
}
}, PHP_INT_MAX);
@rajeshsingh520
rajeshsingh520 / gist:3da8c1486af826551d55ecaac64f234e
Created May 9, 2025 11:17
adding download invoice link in the google calendar order details page
add_filter('pi_dtt_google_calendar_event_desc', function($desc, $order){
$order_id = $order->get_id();
$download_url = add_query_arg(
array(
'action' => 'generate_wpo_wcpdf',
'document_type' => 'invoice',
'order_ids' => $order_id,
'_wpnonce' => wp_create_nonce( 'generate_wpo_wcpdf' ),