include_files(); // Init theme hooks $this->init_actions(); } private function include_files() { // All includes here $path = get_template_directory() . '/inc/'; // Example includes (change as your structure) if ( file_exists( $path . 'class-ascora-custom-assets.php' ) ) { require_once $path . 'class-ascora-custom-assets.php'; } if ( file_exists( $path . 'theme-functions.php' ) ) { require_once $path . 'theme-functions.php'; } } private function init_actions() { // Initialize assets class if ( class_exists( 'Ascora_Custom_Assets' ) ) { Ascora_Custom_Assets::instance(); } // Register Blog Meta hook add_action( 'ascora_blog_meta', array( $this, 'render_blog_meta' ) ); } public function render_blog_meta() { if ( function_exists( 'ascora_blog_meta_display' ) ) { ascora_blog_meta_display(); } } } } // Initialize the whole theme Ascora_Main::instance(); /** * Define Theme Constants */ if (!function_exists('ascora_define_constants')) { function ascora_define_constants() { // Define theme version defined('ASCORA_THEME_VERSION') || define('ASCORA_THEME_VERSION', '1.0.0'); // Define theme settings key defined('ASCORA_THEME_SETTING') || define('ASCORA_THEME_SETTING', 'ascora-settings'); // Define theme directory path defined('ASCORA_THEME_DIR') || define('ASCORA_THEME_DIR', trailingslashit(get_template_directory())); // Define theme directory URI defined('ASCORA_THEME_URI') || define('ASCORA_THEME_URI', trailingslashit(esc_url(get_template_directory_uri()))); } add_action('after_setup_theme', 'ascora_define_constants', 0); } // Include necessary files //require_once ASCORA_THEME_DIR . 'inc/core/function.php'; // Include files after constants are defined add_action('after_setup_theme', function () { if (file_exists(ASCORA_THEME_DIR . 'inc/core/function.php')) { require_once ASCORA_THEME_DIR . 'inc/core/function.php'; } else { wp_die(__('Required file is missing!', 'ascora')); } }, 1);