public function enqueue_scripts()
    {
        // Get specified jQuery version.
        $jquery_version = Config::get('theme.use_jquery_cdn');

        // if a valid jQuery version has been specified.
        if (Config::get('theme.disable_jquery') !== true
            && $jquery_version !== false
            && \version_compare($jquery_version, '0.0.1', '>=') === true
        ) {
            // get all non-deferred scripts, to check for jQuery.
            $defer_exclude_list = Config::get('theme.defer_scripts_skip');

            \wp_deregister_script('jquery');

            \wp_register_script(
                'jquery',
                "//ajax.googleapis.com/ajax/libs/jquery/{$jquery_version}/jquery.min.js",
                [],
                null,
                ( \is_array($defer_exclude_list) && \in_array('jquery', $defer_exclude_list) ) ? false : true
            );

            \wp_enqueue_script('jquery');
        }

        // Completely remove jQuery
        if (Config::get('theme.disable_jquery') === true) {
            \wp_deregister_script('jquery');
        }

        // Threaded comments JS.
        if ((! Config::get('theme.disable_comments'))
            && comments_open()
            && get_option('thread_comments')
        ) {
            wp_enqueue_script('comment-reply');
        }
    }