Tribe__Tickets_Plus__Commerce__WooCommerce__Main::hooks()
Registers all actions/filters
Source
File: src/Tribe/Commerce/WooCommerce/Main.php
public function hooks() {
add_action( 'wp_loaded', array( $this, 'process_front_end_tickets_form' ), 50 );
add_action( 'init', array( $this, 'register_wootickets_type' ) );
add_action( 'init', array( $this, 'register_resources' ) );
add_action( 'add_meta_boxes', array( $this, 'woocommerce_meta_box' ) );
add_action( 'before_delete_post', array( $this, 'handle_delete_post' ) );
add_action( 'woocommerce_order_status_changed', array( $this, 'delayed_ticket_generation' ), 12, 3 );
add_action( 'tribe_wc_delayed_ticket_generation', array( $this, 'generate_tickets' ) ) ;
add_action( 'woocommerce_order_status_changed', array( $this, 'reset_attendees_cache' ) );
add_action( 'woocommerce_email_header', array( $this, 'maybe_add_tickets_msg_to_email' ), 10, 2 );
add_action( 'tribe_events_tickets_metabox_edit_advanced', array( $this, 'do_metabox_advanced_options' ), 10, 2 );
if ( class_exists( 'Tribe__Events__API' ) ) {
add_action( 'woocommerce_product_quick_edit_save', array( $this, 'syncronize_product_editor_changes' ) );
add_action( 'woocommerce_process_product_meta_simple', array( $this, 'syncronize_product_editor_changes' ) );
}
if ( version_compare( WC()->version, '3.0', '>=' ) ) {
add_action( 'woocommerce_checkout_create_order_line_item', array( $this, 'set_attendee_optout_value' ), 10, 3 );
} else {
add_action( 'woocommerce_add_order_item_meta', array( $this, 'set_attendee_optout_choice' ), 15, 2 );
}
// Enqueue styles
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles' ), 11 );
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_styles' ), 11 );
add_filter( 'post_type_link', array( $this, 'hijack_ticket_link' ), 10, 4 );
add_filter( 'woocommerce_email_classes', array( $this, 'add_email_class_to_woocommerce' ) );
add_action( 'woocommerce_resend_order_emails_available', array( $this, 'add_resend_tickets_action' ) ); // WC 3.1.x
add_action( 'woocommerce_order_actions', array( $this, 'add_resend_tickets_action' ) ); // WC 3.2.x
add_action( 'woocommerce_order_action_resend_tickets_email', array( $this, 'send_tickets_email' ) ); // WC 3.2.x
add_filter( 'event_tickets_attendees_woo_checkin_stati', tribe_callback( 'tickets-plus.commerce.woo.checkin-stati', 'filter_attendee_ticket_checkin_stati' ), 10 );
add_action( 'wootickets_checkin', array( $this, 'purge_attendees_transient' ) );
add_action( 'wootickets_uncheckin', array( $this, 'purge_attendees_transient' ) );
add_filter( 'tribe_tickets_settings_post_types', array( $this, 'exclude_product_post_type' ) );
add_action( 'tribe_tickets_attendees_page_inside', array( $this, 'render_tabbed_view' ) );
add_action( 'woocommerce_check_cart_items', array( $this, 'validate_tickets' ) );
add_action( 'template_redirect', array( $this, 'redirect_to_cart' ) );
add_action( 'wc_after_products_starting_sales', array( $this, 'syncronize_products' ) );
add_action( 'wc_after_products_ending_sales', array( $this, 'syncronize_products' ) );
add_action( 'tribe_ticket_available_warnings', [ $this, 'get_ticket_table_warnings' ], 10, 2 );
add_filter( 'tribe_tickets_get_ticket_max_purchase', array( $this, 'filter_ticket_max_purchase' ), 10, 2 );
tribe_singleton( 'commerce.woo.order.refunded', 'Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Refunded' );
add_filter( 'tribe_attendee_registration_form_classes', [ $this, 'tribe_attendee_registration_form_class' ] );
}