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);