From bdf02a27405f5c1edb1aeb26fc35b3389eb19ab6 Mon Sep 17 00:00:00 2001 From: Viktor Miller Date: Fri, 16 Jan 2026 11:02:11 +0900 Subject: [PATCH] feat(01-01): create main plugin file with bootstrap code - WordPress plugin header with proper metadata - Plugin version constants and paths - Main Umzugsliste class with singleton pattern - Activation/deactivation hooks with flush_rewrite_rules - Autoloader for includes/ directory - Init hook to initialize plugin components --- umzugsliste.php | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 umzugsliste.php 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' );