add_filter('em_event_output_placeholder','my_cancel_button',100,3); function my_cancel_button( $replace, $EM_Event, $result ){ global $wpdb; if ( $result == '#_EVENTCANCELBUTTON' ){ $replace = ""; if ( is_user_logged_in() ){ if( !isset($user_bookings) || !is_array($user_bookings) ){ $sql = $wpdb->prepare('SELECT *, booking_status FROM '.EM_BOOKINGS_TABLE.' WHERE person_id=%d AND event_id=%d', array(get_current_user_id(), $EM_Event->event_id)); if ( $EM_Event->timeslot_id ) { $sql .= ' AND timeslot_id=' . absint( $this->timeslot_id ); } $user_bookings = $wpdb->get_results($sql); } if( !empty($user_bookings) ){ foreach ( $user_bookings as $EM_Booking ) { $nonce = wp_create_nonce('booking_cancel'); if( in_array( $EM_Booking->booking_status, array(1)) ){ $cancel_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'booking_cancel', 'booking_id'=>$EM_Booking->booking_id, '_wpnonce'=>$nonce)); $replace = ''.__('Cancel Booking','events-manager').''; } } } } } return $replace; }