init_hooks(); } /** * Initialize hooks */ private function init_hooks() { // Initialize post types add_action( 'init', array( 'DDHH_JM_Post_Types', 'register' ) ); // Upgrade roles with any new capabilities add_action( 'init', array( 'DDHH_JM_Roles', 'upgrade_roles' ) ); // Initialize ACF fields add_action( 'acf/init', array( 'DDHH_JM_ACF_Fields', 'register_fields' ) ); // Initialize Formidable Forms integration add_action( 'init', array( 'DDHH_JM_Formidable', 'setup_registration_hooks' ) ); // Initialize dashboard add_action( 'init', array( 'DDHH_JM_Dashboard', 'init' ) ); // Initialize access control add_action( 'init', array( 'DDHH_JM_Access_Control', 'setup_hooks' ) ); // Initialize notifications add_action( 'init', array( 'DDHH_JM_Notifications', 'setup_hooks' ) ); // Initialize archive query helper add_action( 'init', array( 'DDHH_JM_Archive', 'setup_hooks' ) ); // Initialize template display add_action( 'init', array( 'DDHH_JM_Template', 'setup_hooks' ) ); // Initialize admin UI enhancements (admin-only) if ( is_admin() ) { add_action( 'init', array( 'DDHH_JM_Admin_UI', 'setup_hooks' ) ); } // Initialize user preferences add_action( 'init', array( 'DDHH_JM_User_Preferences', 'setup_hooks' ) ); // Initialize scheduler for async email processing add_action( 'init', array( 'DDHH_JM_Scheduler', 'setup_hooks' ) ); // Initialize pages add_action( 'init', array( 'DDHH_JM_Pages', 'setup_hooks' ) ); } }