Server : Apache System : Linux server.lienzindia.com 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 User : plutus ( 1007) PHP Version : 7.4.33 Disable Function : NONE Directory : /home/plutus/public_html/wp-content/themes/vrm/inc/ |
Upload File : |
<?php declare(strict_types=1); namespace TotalTheme; \defined( 'ABSPATH' ) || exit; /** * Initialize Theme. */ class Initialize { /** * Class instance. */ protected static $instance; /** * Create or retrieve the class instance. * * @return object $instance Class instance of TotalTheme\Initialize. */ public static function instance() { if ( \is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor. * * @return void */ public function __construct() { $this->global(); if ( \wpex_is_request( 'admin' ) ) { $this->admin(); } $this->public(); if ( \wpex_is_request( 'frontend' ) ) { $this->frontend(); } $this->init_hooks(); } /** * Global functions. */ public function global(): void { require_once \WPEX_INC_DIR . 'deprecated.php'; Color_Scheme::instance(); Widgets\Register_Widget_Areas::instance(); // Core functions. require_once \WPEX_INC_DIR . 'updates/after-update.php'; require_once \WPEX_INC_DIR . 'functions/theme-mods.php'; require_once \WPEX_INC_DIR . 'functions/core-functions.php'; require_once \WPEX_INC_DIR . 'functions/conditionals.php'; require_once \WPEX_INC_DIR . 'functions/svgs.php'; require_once \WPEX_INC_DIR . 'functions/css-utility.php'; require_once \WPEX_INC_DIR . 'functions/parsers.php'; require_once \WPEX_INC_DIR . 'functions/sanitization-functions.php'; require_once \WPEX_INC_DIR . 'functions/arrays.php'; require_once \WPEX_INC_DIR . 'functions/translations.php'; require_once \WPEX_INC_DIR . 'functions/template-parts.php'; require_once \WPEX_INC_DIR . 'functions/post-types-branding.php'; require_once \WPEX_INC_DIR . 'functions/fonts.php'; require_once \WPEX_INC_DIR . 'functions/post-thumbnails.php'; require_once \WPEX_INC_DIR . 'functions/overlays.php'; require_once \WPEX_INC_DIR . 'functions/aria-labels.php'; require_once \WPEX_INC_DIR . 'cards/card-functions.php'; // Actions. new Register_AJAX_Callbacks(); \add_action( 'after_switch_theme', 'TotalTheme\Actions\After_Switch_Theme::callback' ); // Filters. \add_filter( 'http_request_args', 'TotalTheme\Filters\Http_Request_Args::callback', 5, 2 ); \add_filter( 'kses_allowed_protocols', 'TotalTheme\Filters\Kses_Allowed_Protocols::callback' ); \add_filter( 'wp_get_attachment_url', 'TotalTheme\Filters\WP_Get_Attachment_Url::callback' ); // Theme builder. require_once \WPEX_INC_DIR . 'theme-builder/functions.php'; // !! must load here !! require_once \WPEX_INC_DIR . 'theme-builder/theme-builder.php'; /** Maybe include */ if ( \get_theme_mod( 'header_builder_enable', true ) ) { require_once \WPEX_INC_DIR . 'theme-builder/header-builder.php'; } if ( \get_theme_mod( 'footer_builder_enable', true ) ) { require_once \WPEX_INC_DIR . 'theme-builder/footer-builder.php'; } Error_404::instance(); if ( \get_theme_mod( 'page_animations_enable', true ) ) { Page_Animations::instance(); } if ( \get_theme_mod( 'header_image_enable', false ) ) { WP_Custom_Header::instance(); } if ( wpex_custom_wp_gallery_supported() ) { Post_Gallery::instance(); } if ( \get_theme_mod( 'under_construction_enable', true ) ) { Under_Construction::instance(); } if ( \wpex_disable_google_services() ) { Disable_Google_Services::instance(); } Widgets\Block_Editor::instance(); if ( \get_theme_mod( 'favicons_enable', true ) ) { Favicons::instance(); } if ( \get_theme_mod( 'custom_admin_login_enable', true ) ) { Custom_Login::instance(); } if ( \get_theme_mod( 'custom_actions_enable', true ) ) { Custom_Actions::instance(); } if ( \get_theme_mod( 'remove_posttype_slugs', false ) ) { new Remove_Cpt_Slugs; } if ( \apply_filters( 'wpex_has_bundled_plugin_update_notices', true ) ) { Updates\Plugin_Updater::instance(); } if ( \get_theme_mod( 'auto_updates', true ) ) { Updates\Theme_Updater::instance(); } // Remove site emoji scripts. if ( \get_theme_mod( 'remove_emoji_scripts_enable', true ) ) { new Disable_WP_Emoji(); } /** 3rd Party Integrations **/ Integrations::init(); /* These Classes must Load last */ // Image sizes panel and registration. if ( \get_theme_mod( 'image_sizes_enable', true ) ) { Image_Sizes::instance(); } Customizer::instance(); if ( \get_theme_mod( 'typography_enable', true ) ) { Typography::instance(); } } /** * Admin functions. */ public function admin(): void { if ( ! \is_admin() ) { return; } $this->health_checks(); Admin\Theme_Panel::instance(); Editor\Mce_Formats::instance(); if ( \get_theme_mod( 'recommend_plugins_enable', true ) ) { Admin\Recommended_Plugins::init(); } if ( \get_theme_mod( 'post_type_admin_settings', true ) ) { Admin\Cpt_Settings::instance(); } if ( \get_theme_mod( 'import_export_enable', true ) ) { Admin\Import_Export::instance(); } if ( \apply_filters( 'wpex_show_license_panel', true ) ) { Admin\License_Panel::instance(); } if ( \apply_filters( 'wpex_accessibility_panel', true ) ) { Accessibility\Admin_Panel::instance(); } if ( \get_theme_mod( 'editor_styles_enable', true ) ) { Editor\Editor_Styles::instance(); } Admin\Dashboard_Thumbnails::instance(); Admin\Scripts::instance(); } /** * Public functions. * * @todo move these into classes that are loaded automatically. */ public function public(): void { require_once \WPEX_INC_DIR . 'functions/frontend/google-analytics.php'; require_once \WPEX_INC_DIR . 'functions/frontend/layouts.php'; require_once \WPEX_INC_DIR . 'functions/frontend/breadcrumbs.php'; require_once \WPEX_INC_DIR . 'functions/frontend/wpex-the-content.php'; require_once \WPEX_INC_DIR . 'functions/frontend/head-meta-tags.php'; require_once \WPEX_INC_DIR . 'functions/frontend/schema-markup.php'; require_once \WPEX_INC_DIR . 'functions/frontend/social-share.php'; require_once \WPEX_INC_DIR . 'functions/frontend/videos.php'; require_once \WPEX_INC_DIR . 'functions/frontend/audio.php'; require_once \WPEX_INC_DIR . 'functions/frontend/author.php'; require_once \WPEX_INC_DIR . 'functions/frontend/post-media.php'; require_once \WPEX_INC_DIR . 'functions/frontend/excerpts.php'; require_once \WPEX_INC_DIR . 'functions/frontend/togglebar.php'; require_once \WPEX_INC_DIR . 'functions/frontend/header-menu.php'; require_once \WPEX_INC_DIR . 'functions/frontend/post-slider.php'; require_once \WPEX_INC_DIR . 'functions/frontend/post-gallery.php'; require_once \WPEX_INC_DIR . 'functions/frontend/page-header.php'; require_once \WPEX_INC_DIR . 'functions/frontend/grids.php'; require_once \WPEX_INC_DIR . 'functions/frontend/page.php'; require_once \WPEX_INC_DIR . 'functions/frontend/archives.php'; require_once \WPEX_INC_DIR . 'functions/frontend/loop.php'; require_once \WPEX_INC_DIR . 'functions/frontend/blog.php'; require_once \WPEX_INC_DIR . 'functions/frontend/portfolio.php'; require_once \WPEX_INC_DIR . 'functions/frontend/staff.php'; require_once \WPEX_INC_DIR . 'functions/frontend/testimonials.php'; require_once \WPEX_INC_DIR . 'functions/frontend/cpt.php'; require_once \WPEX_INC_DIR . 'functions/frontend/search.php'; require_once \WPEX_INC_DIR . 'functions/frontend/star-rating.php'; require_once \WPEX_INC_DIR . 'functions/frontend/user-social-links.php'; require_once \WPEX_INC_DIR . 'functions/frontend/post-format-icons.php'; } /** * Frontend functionality. */ public function frontend(): void { if ( \get_theme_mod( 'bypostauthor_highlight' ) ) { new Comments\Author_Badge; } if ( \get_theme_mod( 'thumbnail_format_icons', false ) ) { new Thumbnail_Format_Icons; } Fonts\Global_Fonts::instance(); Site_Backgrounds::init(); Advanced_Styles::instance(); Inline_CSS::instance(); // Scripts. \add_action( 'wp_enqueue_scripts', 'TotalTheme\Actions\WP_Enqueue_Scripts::callback' ); \add_action( 'template_redirect', 'TotalTheme\Redirections::maybe_redirect' ); \add_action( 'pre_get_posts', 'TotalTheme\Filters\Pre_Get_Posts::callback' ); // Filters. \add_filter( 'body_class', 'TotalTheme\Filters\Body_Class::callback' ); \add_filter( 'post_class', 'TotalTheme\Filters\Post_Class::callback', 10, 3 ); \add_filter( 'term_link', 'TotalTheme\Filters\Term_Link::callback', 10, 3 ); \add_filter( 'widget_tag_cloud_args', 'TotalTheme\Filters\Tag_Cloud_Args::callback' ); \add_filter( 'comment_form_fields', 'TotalTheme\Filters\Comment_Form_Fields::callback' ); \add_filter( 'redirect_canonical', 'TotalTheme\Filters\Redirect_Canonical::callback' ); \add_filter( 'the_author_posts_link', 'TotalTheme\Filters\The_Authors_Post_Link::callback' ); \add_filter( 'the_password_form', 'TotalTheme\Filters\The_Password_Form::callback' ); \add_filter( 'widget_nav_menu_args', 'TotalTheme\Filters\Widget_Nav_Menu_Args::callback', 10, 4 ); \add_filter( 'embed_oembed_html', 'TotalTheme\Filters\Embed_Oembed_Html::callback', 100, 4 ); \add_filter( 'get_comments_link', 'TotalTheme\Filters\Get_Comments_Link::callback', 10, 2 ); \add_filter( 'respond_link', 'TotalTheme\Filters\Respond_Link::callback', 10, 2 ); \add_filter( 'get_previous_post_join', 'TotalTheme\Filters\Get_Next_Prev_Post_Join::callback' ); \add_filter( 'get_next_post_join', 'TotalTheme\Filters\Get_Next_Prev_Post_Join::callback' ); \add_filter( 'get_previous_post_where', 'TotalTheme\Filters\Get_Next_Prev_Post_Where::callback' ); \add_filter( 'get_next_post_where', 'TotalTheme\Filters\Get_Next_Prev_Post_Where::callback' ); \add_filter( 'dynamic_sidebar_params', 'TotalTheme\Filters\Dynamic_Sidebar_Params::callback' ); if ( \apply_filters( 'wpex_widget_counter_span', true ) ) { \add_filter( 'wp_list_categories', 'TotalTheme\Filters\WP_List_Categories::callback' ); \add_filter( 'get_archives_link', 'TotalTheme\Filters\Get_Archives_Link::callback' ); } if ( \get_theme_mod( 'remove_menu_ids', false ) && \apply_filters( 'wpex_accessibility_panel', true ) ) { add_filter( 'nav_menu_item_id', '__return_false' ); } } /** * Hook into actions and filters. */ public function init_hooks(): void { \add_action( 'after_setup_theme', 'TotalTheme\After_Setup_Theme::init' ); \add_action( 'after_setup_theme', [ $this, 'hooks_actions' ] ); \add_filter( 'woocommerce_create_pages', [ $this, 'disable_woocommerce_create_pages' ] ); } /** * Runs on the after_setup_theme hook. */ public function hooks_actions(): void { require_once \WPEX_INC_DIR . 'functions/hooks/hooks.php'; require_once \WPEX_INC_DIR . 'functions/hooks/add-actions.php'; require_once \WPEX_INC_DIR . 'functions/hooks/remove-actions.php'; require_once \WPEX_INC_DIR . 'functions/hooks/partials.php'; } /** * Registers health checks. */ public function health_checks(): void { $health_checks = [ new Health_Check\Header_Menu_Dropdown_SuperFish(), new Health_Check\Jquery_Easing(), ]; if ( \WPEX_VC_ACTIVE ) { $health_checks[] = new Health_Check\WPBakery_Slim_Mode(); } foreach ( $health_checks as $health_check ) { $health_check->register_test(); } } /** * Prevent Woocommerce from installing pages on installation. * * @return array $pages Array of pages to create when the WooCommerce plugin is installed. */ public function disable_woocommerce_create_pages( $pages ) { if ( \defined( 'WC_INSTALLING' ) && true === \WC_INSTALLING ) { return []; } return $pages; } }