diff --git a/umzugsliste.php b/umzugsliste.php new file mode 100644 index 0000000..00fa059 --- /dev/null +++ b/umzugsliste.php @@ -0,0 +1,106 @@ +load_dependencies(); + $this->init_hooks(); + } + + /** + * Load required files + */ + private function load_dependencies() { + require_once UMZUGSLISTE_PLUGIN_DIR . 'includes/class-cpt.php'; + require_once UMZUGSLISTE_PLUGIN_DIR . 'includes/class-admin-menu.php'; + } + + /** + * Initialize WordPress hooks + */ + private function init_hooks() { + add_action( 'init', array( $this, 'init' ) ); + } + + /** + * Initialize plugin components + */ + public function init() { + // Initialize CPT + Umzugsliste_CPT::get_instance(); + + // Initialize admin menu + if ( is_admin() ) { + Umzugsliste_Admin_Menu::get_instance(); + } + } +} + +/** + * Activation hook + */ +function umzugsliste_activate() { + // Initialize CPT to register post type + require_once UMZUGSLISTE_PLUGIN_DIR . 'includes/class-cpt.php'; + Umzugsliste_CPT::get_instance(); + + // Flush rewrite rules + flush_rewrite_rules(); +} +register_activation_hook( __FILE__, 'umzugsliste_activate' ); + +/** + * Deactivation hook + */ +function umzugsliste_deactivate() { + // Flush rewrite rules + flush_rewrite_rules(); +} +register_deactivation_hook( __FILE__, 'umzugsliste_deactivate' ); + +/** + * Initialize plugin + */ +function umzugsliste_init() { + return Umzugsliste::get_instance(); +} +add_action( 'plugins_loaded', 'umzugsliste_init' );