/** * Plugin Name: Booking & appointments * Description: Appointments, deposits, reminders. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'init', 'ubs_booking_calendar' ); function ubs_booking_calendar() { register_post_type( 'appointment' ); ubs_set_hours( 'mon-fri', '9:00', '17:00' ); ubs_send_reminders( 24 ); // hours before}
/** * Plugin Name: Product subscriptions * Description: Recurring billing for products. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'woocommerce_loaded', 'ubs_subscriptions' ); function ubs_subscriptions() { ubs_add_plan( 'monthly', 29.00 ); ubs_add_plan( 'yearly', 299.00 ); ubs_enable_pause_and_skip();}
/** * Plugin Name: Course LMS * Description: Online courses + certificates. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'init', 'ubs_register_courses' ); function ubs_register_courses() { register_post_type( 'course' ); register_post_type( 'lesson' ); ubs_track_progress( get_current_user_id() ); ubs_issue_certificate_on_complete();}
/** * Plugin Name: Event ticketing * Description: Tickets, check-in, capacity. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'init', 'ubs_ticketing' ); function ubs_ticketing() { ubs_create_event( [ 'capacity' => 250 ] ); ubs_generate_qr_tickets(); ubs_enable_door_checkin();}
/** * Plugin Name: Records requests * Description: Resident request portal. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'rest_api_init', 'ubs_records_endpoint' ); function ubs_records_endpoint() { register_rest_route( 'ubs/v1', '/request', [ 'methods' => 'POST', 'callback' => 'ubs_save_request', ] );}
/** * Plugin Name: Something niche * Description: Whatever your site needs. * Author: Union Built Sites */ defined( 'ABSPATH' ) || exit; add_action( 'plugins_loaded', 'ubs_build_it' ); function ubs_build_it() { // Inventory sync? Custom quote builder? // Integration nobody else has done? ubs_scope( $your_idea ); ubs_build_and_test(); ubs_hand_over_the_keys();}