It's topic for version 2.x
We added a lot of hooks already, if you need new one - submit ticket to helpdesk.
Most important hooks are
1. wdp_save_cart_item_keys (preserve custom item meta) and wdp_get_product_price (allow to modify product price). Usually, they are used together.
// compatibility code for Booking plugin add_filter( 'wdp_save_cart_item_keys', function ( $keys ) { $keys[] = 'booking'; return $keys; }); add_filter( "wdp_get_product_price", function ( $price, $product, $price_mode, $item_meta ) { if ( isset( $item_meta['booking']['_cost'] ) ) { $price = $item_meta['booking']['_cost']; } return $price; }, 10, 4 );
2. wdp_conditions to code new condition. read detailed how to
3. wdp_before_apply_rule (allow to adjust rule settings) and wdp_is_apply_rule ( you can return false to disable rule)
4. wdp_before_apply_to_wc_cart ( used to remove custom hooks for WC cart) and
wdp_after_apply_to_wc_cart ( used to re-add custom hooks to WC cart actions)
//Compatibility with Tickera "Seat Chart" plugin add_action( 'wdp_before_apply_to_wc_cart', function( $wdp_cart, $wc_cart ){ global $TC_Seat_Chart; remove_action('woocommerce_cart_emptied', array($TC_Seat_Chart, 'delete_cart_seats_persistent'), 10); },10,2); add_action( 'wdp_after_apply_to_wc_cart', function( $wdp_cart, $wc_cart ){ global $TC_Seat_Chart; add_action('woocommerce_cart_emptied', array($TC_Seat_Chart, 'delete_cart_seats_persistent'), 10); },10,2);