is_main_query() && $query->is_search() ) { require_once __DIR__ . '/includes/functions/_module-search.php'; } }, 1 ); /** * Generate SEO schema graphs. */ if ( get_option( 'fictioneer_enable_seo' ) && ! fictioneer_seo_plugin_active() ) { require_once __DIR__ . '/includes/functions/_module-schemas.php'; } // ============================================================================= // ADMIN ONLY // ============================================================================= if ( is_admin() ) { /** * Functions only required in the admin panel. */ require_once __DIR__ . '/includes/functions/_setup-admin.php'; /** * Process AJAX form submits. */ require_once __DIR__ . '/includes/functions/_module-forms.php'; /** * Communicate with the Discord API. */ require_once __DIR__ . '/includes/functions/_module-discord.php'; } // ============================================================================= // FRONTEND ONLY // ============================================================================= if ( ! is_admin() ) { /** * Add general hooks. */ require_once __DIR__ . '/includes/functions/hooks/_general_hooks.php'; /** * Add post and page hooks. */ function fictioneer_conditional_require_frontend_hooks() { if ( is_page_template( 'stories.php' ) || is_page_template( 'singular-story.php' ) || is_page_template( 'singular-mirror-story.php' ) || is_singular( 'fcn_story' ) ) { require_once __DIR__ . '/includes/functions/hooks/_story_hooks.php'; } if ( is_page_template( 'chapters.php' ) || is_singular( 'fcn_chapter' ) ) { require_once __DIR__ . '/includes/functions/hooks/_chapter_hooks.php'; } if ( is_page_template( 'recommendations.php' ) || is_singular( 'fcn_recommendation' ) ) { require_once __DIR__ . '/includes/functions/hooks/_recommendation_hooks.php'; } if ( is_page_template( 'collections.php' ) || is_singular( 'fcn_collection' ) ) { require_once __DIR__ . '/includes/functions/hooks/_collection_hooks.php'; } if ( is_page_template( 'user-profile.php' ) ) { require_once __DIR__ . '/includes/functions/hooks/_profile_hooks.php'; } if ( is_singular( 'post' ) ) { require_once __DIR__ . '/includes/functions/hooks/_post_hooks.php'; } } add_action( 'wp', 'fictioneer_conditional_require_frontend_hooks' ); /** * Add mobile menu hooks. */ require_once __DIR__ . '/includes/functions/hooks/_mobile_menu_hooks.php'; }